找不到领域文件的加密密钥

Asr*_*udi 3 encryption realm ios appdelegate swift

我正在尝试访问我的 Realm 文件,但它要求我提供加密密钥,如下所示: 弹出窗口询问加密密钥的图像

我尝试使用以下代码行打印项目(AppDelegate.swift)中的加密密钥:

        print(Realm.Configuration.defaultConfiguration.encryptionKey)
Run Code Online (Sandbox Code Playgroud)

然而,它只打印 nil。如果有人可以告诉我在哪里可以找到访问我的 Realm 文件的加密密钥,我将非常感激。谢谢。

TiM*_*TiM 9

我是 Realm Browser 中该功能的作者(也是 El Tomato 链接的博客文章)。我想我知道这里发生了什么,但我会在这篇文章前面加上前缀,因为我只是在这里猜测。

出于安全原因,无法识别 Realm 文件是否已加密;文件内容只是乱码数据。因此,我最初编写领域浏览器的方式是,如果您尝试打开一个标记的文件.realm并且无法成功加载该文件,它只是“假设”该文件已加密并显示该对话框。

Realm 多年来不断发展,文件格式定期进行修订,使其与旧版本的 Realm 框架不兼容。

领域浏览器实际上已退役,不再积极维护。它被Realm Studio取代,它更好,因为它可以跨平台使用。

如果您使用的是最新版本的 Realm Swift,很可能它生成的领域文件的文件格式太新,而最后发布的 Realm 浏览器版本太旧,它无法再识别领域文件为有效,并且错误地假设文件已加密。

我的建议是停止使用 Realm Browser 并升级到 Realm Studio。祝你好运!