2012-10-26 40 views
1

我正在为我的应用程序实现应用程序内计费系统,并且(作为文档建议)我想向数据库添加一些加密系统。Android中的安全数据库存储

我测试过SQLCipher,我喜欢它,但由于它需要在android.database.sqlite.*覆盖所有类的应用程序失去与SDK的一部分连接,可能失去未来的重要更新,并根据开发者(或者你自己,因为是开源的)。

我考虑过的其他解决方案是在sensible表中添加一个额外的列,存储一个值(每个设备都是唯一的),然后忽略不包含该密钥的数据。但是这种方法显然比较薄弱。

如何在不使用SQLCipher的情况下提高安全性?由于

+0

你为什么不加密数据库文件? – toadzky

回答

1

如果sensible表包含敏感和列一些不,如果你没有在where子句中使用合理的栏目中,你可以伊斯利加密/解密上写只是明智场/读操作没有显着的性能成本。

如果您需要在只有几条记录的表的where子句中使用合理的列,则可以读取所有记录,解密并选择。

如果以上都没有答案,那么除SQLCipher之外我没有其他建议。

+0

经过第二次思考之后,我意识到它即使在'where子句'上使用明智的列时也可以工作,只要您还要对要比较的值进行加密。真正的限制在于'sort by'子句,因为没有办法知道如何在不解密的情况下对加密记录进行排序。 – Luis

相关问题