我正在将Realm用于我的android应用程序,我想使用Realm浏览器在mac上查看default.realm文件,但是它要求输入加密密钥。
java - 使用Realm浏览器在Mac上查看 Realm 文件的加密 key-LMLPHP
我没有通过提供“.encryptionKey(key)”在域配置中进行加密。那我必须提供什么加密密钥?默认情况下有加密吗?我在Android Studio上使用Realm插件2.0.2,而在Mac上,我的Realm Browser是2.0.1。
我还尝试在我的代码中提供像这样的encryptionKey(key):

byte[] key = new byte[64];
new SecureRandom().nextBytes(key);
RealmConfiguration config = new RealmConfiguration.Builder()
.encryptionKey(key)
.build();

并尝试向浏览器提供相同的哈希(128个长度)以打开文件,但没有运气。我在SO中找到了与如何使用adb pull检索文件有关的答案,但是我对此加密部分一无所知。在这方面的任何帮助将是巨大的。

最佳答案

问题是文件已损坏。来自Realm浏览器的错误消息相当令人误解,要求提供加密密钥。

由于我的手机没有扎根,因此无法使用adb pull直接检索文件。

adb pull /data/data/<packagename>/files/ .

我通过将内容复制到系统上的文件中来使用另一条命令,这导致损坏。

这是最终为我工作的命令。
./adb exec-out run-as <packagename> cat /data/data/<packagename>/files/default.realm > ~/Documents/foo/foo.realm

我之前没有将exec-out放在命令中,这就是损坏的原因。

07-24 09:48
查看更多