Sugar ORM 指定加密密钥

Sugar ORM specifying encryption key

我正在尝试使用 Sugar ORM 及其扩展进行数据库加密。我目前正在使用清单元标记指定加密密钥:

    <meta-data
        android:name="ENCRYPTION_KEY"
        android:value="<key>" />

这是存储密钥的安全方式吗,因为我将它存储在清单中?如果没有,我能否以某种方式从应用程序内部以编程方式设置它?

编辑:我尝试了 this 指南,但它不起作用,数据库未加密。

我终于找到了解决办法。我使用了上面 Github link 中的示例项目并将其提取到磁盘上。我使用 Android studio 将其转换为 Gradle 风格的项目。我将所有代码复制到这个新项目中,并进行了迁移所需的所有重构。之后,如果您有旧的应用程序实例,则需要清除数据,并且它神奇地起作用了。这似乎是配置问题,并且缺少有关该项目分支的信息。

编辑:此外,如果您想动态注入密钥,则需要覆盖一些 类 并自行手动注入。