iOSでRealmがデフォルトで暗号化されているかどうかを判断できませんでした。 誰かが私の理解を助けることができますか?レルムドキュメントのセクションからiOSでレルムがデフォルトで暗号化されています
3
A
答えて
5
についてUsing Realm with Background App Refresh:
上記のiOS 8とオンデバイスがロックされるたびに、アプリケーション内のファイルが自動的にNSFileProtectionを使用して暗号化されています。デバイスがロックされているときに、Realmファイルの
NSFileProtection
属性が(デフォルトの場合)を暗号化するように設定されている場合、アプリがRealmに関与することを試みると、open() failed: Operation not permitted
例外がスローされます。
さらに、Realmはそれ自身のネイティブファイルEncryptionをサポートしています。
レルムは、レルムの作成時に64バイトの暗号化キーを提供することで、ディスク上のデータベースファイルをAES-256 + SHA2で暗号化することをサポートしています。
// Generate a random encryption key let key = NSMutableData(length: 64)! SecRandomCopyBytes(kSecRandomDefault, key.length, UnsafeMutablePointer<UInt8>(key.mutableBytes)) // Open the encrypted Realm file let config = Realm.Configuration(encryptionKey: key) do { let realm = try Realm(configuration: config) // Use the Realm as normal let dogs = realm.objects(Dog).filter("name contains 'Fido'") } catch let error as NSError { // If the encryption key is wrong, `error` will say that it's an invalid database fatalError("Error opening realm: \(error)") }
ディスク上に記憶されたデータのすべてが透過的に暗号化し、必要に応じてAES-256で復号化、およびSHA-2 HMACで確認されるように、これはそれを行います。レルムインスタンスを取得するたびに、同じ暗号化キーを入力する必要があります。
-1
独自のキーを使用する場合は、カスタムデータを提供します。
func setup(with encryptionKey: String) {
Swift.assert(encryptionKey.count == 64, "Base 64 encoded encryptionKey unavailable")
let data = Data(base64Encoded: encryptionKey)
Realm.Configuration.defaultConfiguration = Realm.Configuration(encryptionKey: data)
}
let key = "asdasnkdjbaskdjbfadshvjadskvkdsvcjavsdjhvcjdhjsakhdkjsahdkasdasd"
setup(with: key)
関連する問題
- 1. 暗号化されていないレルムをマイグレーションしてレルムを暗号化する方法
- 2. 暗号でメッセージを暗号化するアプリには暗号化が含まれていますか? iOS App Store
- 3. レルムでの暗号化の理解
- 4. iOSデータファイルの暗号化は許可されていますか?
- 5. Ios暗号化。?
- 6. iOSでのデータ暗号化
- 7. 暗号化されていない暗号化
- 8. OrientDBのリモートプロトコルで暗号化がサポートされていますか?
- 9. 暗号化/復号化方法に暗号化された文字列に '/'が含まれていない
- 10. 暗号化Javaが正しく暗号化されない
- 11. アカウント名(kSecAttrAccount)はiOSキーチェーンで暗号化されていますか?
- 12. C#暗号化されたデータをJavascriptで暗号化する
- 13. 暗号化モジュール内の暗号化されていないモジュールインスタンスの信号にアクセスできますか?
- 14. SHA暗号化はすでに復号化されていますか?
- 15. 復号化されたファイルはまだ暗号化されています
- 16. java.lang.IllegalStateException:暗号化が初期化されていません
- 17. デフォルトの暗号化タイプlaravel
- 18. mysqlはヌルパスワードで暗号化されています
- 19. iOSとAndroidでのAES暗号化、C#.NETでの復号化
- 20. PHPでの暗号化、IOSでの復号化
- 21. レルムスウィフトiOS - 暗号化されたレルムを安全に削除して再キーイングする
- 22. Yii2暗号化で異なる暗号化データが生成される
- 23. iOSでファイルを暗号化/復号化する方法は?
- 24. sqlite3データベースが暗号化されていますか?
- 25. PHPコードが暗号化されています
- 26. Java暗号化がなぜ制限されていますか?
- 27. (暗号化された)暗号化されたメッセージを復号する
- 28. iOS 10で暗号化されたDBが正しく動作しない
- 29. iOSでの暗号化の使用
- 30. iOSでのXORファイルの暗号化