我Realm
在我的应用程序中加密了数据库.我想更改加密密钥.是否有正确的方法Realm
使用新的加密密钥制作文件的副本,或者是否有其他选项可用?
谢谢.
是的,您必须使用新的加密密钥复制Realm文件.该方法称为writeEncryptedCopyTo()
:https://realm.io/docs/java/latest/api/io/realm/Realm.html#writeEncryptedCopyTo-java.io.File-byte : A-
像下面这样的东西应该工作:
RealmConfiguration config1 = new RealmConfiguration.Builder(context) .name("old-name") .encryptionKey(getOldKey()) .build() Realm realm = Realm.getInstance(config1); realm.writeEncryptedCopyTo(new File(context.getFilesDir(), "new-name"), getNewKey()); realm.close(); RealmConfiguration config2 = new RealmConfiguration.Builder(context) .name("new-name") .encryptionKey(getNewKey()) .build()