轻量级机制,用于加密android上的sqlite数据库,无需发送定制的sqlite distibution

我正在构建一个Android应用程序,我想在sqlite数据库中维护某些细节 . 我正在使用SQLiteOpenHelper接口,以便为访问数据库的所有线程维护数据库的单个实例 .

出于安全原因,我想加密我的数据库,因为如果数据库文件未加密,则可以在有根的Android设备上查看数据库文件 . 为了避免这种情况,我想加密数据库文件 . 我已经通过SEE,wxSQLite,SQLiteCrypt和botansqlite3,但它们都需要将SQLite的cutomized发行版发送到Android设备上 . 我希望使用Android附带的SQLite的正常分发来保护我的数据库文件 .

此外,我尝试使用SQLCipher,但它增加了我的应用程序的总大小8-10MB . 不使用SQLCipher的另一个原因是它不支持mips architecure(但是这可以在以后通过源代码中的一些修改来构建) .

此外,我的数据库将被许多线程访问和更新,并且将一直由服务加载,因此在加载/打开时解密数据库并在卸载/关闭时加密对我来说不起作用 . 应该可以仅在加密数据库上触发查询,或者应该有一些替代解决方案,例如创建临时数据库,解密它并对其执行操作 .

任何人都可以建议我在Android设备上加密SQLite数据库的轻量级解决方案?

提前致谢 .

回答(0)