1

我使用 sqlcipher 文档中给出的以下方法加密了我已经存在的 sqlite 数据库

$ ./sqlite3 plaintext.db 
sqlite> ATTACH DATABASE 'encrypted.db' AS encrypted KEY 'testkey'; 
sqlite> SELECT sqlcipher_export('encrypted'); 
sqlite> DETACH DATABASE encrypted;

这可以工作并生成一个加密数据库,其内存大小与原始数据库相当。然后我尝试使用访问我的android应用程序上的数据库

SQLiteDatabase db = SQLiteDatabase.openOrCreateDatabase(myDatabasePath, "testkey", null);

查询 db 实例显示数据库中没有现有表。我能够创建新表并向它们添加行并读取它们,但我看不到旧的现有表。我仔细遵循了更改导入的 sqlcipher 文档中给出的指南。

4

0 回答 0