使用sqlcipher加密已有的数据库并在android上打开它

时间:2012-11-18 18:19:10

标签: android encryption sqlcipher

我使用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文档中关于更改导入的指导原则。

0 个答案:

没有答案