【发布时间】:2019-02-20 11:34:54
【问题描述】:
我正在使用 GreenDAO 和 SQLCipher。
在我将SQLCipher 从 3.5.2 升级到 4.0.1 后,我的应用程序无法访问旧的加密数据库。
我已经搜索了一个解决方案,发现我需要在SQLiteDatabaseHook 的postKey 中运行PRAGMA cipher_migrate 来迁移我的数据库。我试过这样,但没有任何改变。:
SQLiteDatabaseHook hook = new SQLiteDatabaseHook() {
@Override
public void preKey(SQLiteDatabase database) {
}
@Override
public void postKey(SQLiteDatabase database) {
database.execSQL("PRAGMA key = '" + key + "';");
database.execSQL("PRAGMA cipher_migrate;");
}
};
Database db = new EncryptedDatabase(SQLiteDatabase.openOrCreateDatabase("DB.db", key, null, hook));
return new DaoMaster(db).newSession();
【问题讨论】:
标签: android greendao sqlcipher