使用SQLCipher与android发布的sqlite数据库文件

use*_*o01 5 java android sqlcipher

我在文件中重置了一个数据库assets文件.

如何SQLCipher在android中加密数据库?

Com*_*are 9

这将有点复杂.由于SQLite和SQLCipher for Android之间的数据库文件格式不同,并且由于您要发送未加密的数据库,因此您必须执行一些操作.

首先,我要SQLiteAssetHelper开始,将未加密的数据库传送到您的环境中.

然后,使用标准的SQLCipher for Android创建一个空的但加密的数据库.

接下来,您需要实现代码以将数据从打包但未加密的数据库中复制出来并将其插入空的但加密的数据库中.

完成所有操作后,您可以关闭并删除已打包但未加密的数据库,并使用加密的数据库.

SQLiteAssetHelper总有一天,这可能会成为一个有用的扩展......

  • @ user4o01:当然.他们总能做到这一点.如果您不希望别人阅读您的数据,请不要向他们提供您的数据.使用您自己的加密密钥加密您的数据库将无济于事,因为人们只需从您的应用中获取密钥并使用它.**如果您将数据放在用户的设备上,它现在是用户的数据,而不是您的数据.**使用Android的SQLCipher来帮助用户防御他人的数据; 你不能使用Android的SQLCipher来防御用户的数据. (2认同)