将 SQLCipher 与 greenDAO 集成

Integrating SQLCipher with greenDAO

如何在使用 greenDao orm 时使用 sqlchipher 加密 android 中的 sqlite 数据库。我在 SO 中搜索了很多次,但没有找到任何有效的解决方案。

在您的 greendao 生成器模块中添加此依赖项

compile 'org.greenrobot:greendao-generator-encryption:2.2.0'

因此,您的生成器模块的 build.gradle 文件将如下所示

apply plugin: 'java'

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile 'org.greenrobot:greendao-generator-encryption:2.2.0'

}

然后在您的应用 gradle 文件(build.gradle 模块应用)中添加这些依赖项并删除所有其他与 greendao 相关的依赖项

compile 'org.greenrobot:greendao-encryption:2.2.2'
compile 'net.zetetic:android-database-sqlcipher:3.5.1'

并像这样设置数据库

  DaoMaster.EncryptedDevOpenHelper helper = new DaoMaster.EncryptedDevOpenHelper(context, "secrets.db");
  Database database = helper.getWritableDatabase("your secret key");
  DaoMaster daoMaster = new DaoMaster(database);

如果还有其他选择,请分享