Android中的安全数据库存储

时间:2012-10-26 20:16:27

标签: java android security

我正在为我的应用实施应用内结算系统,并且(作为文档建议)我想在数据库中添加一些加密系统。

我已经测试了SQLCipher,我很喜欢它但是因为它需要覆盖android.database.sqlite.*的所有类,你的应用程序会失去与SDK部分的连接,从而失去可能的重要未来更新和依赖在开发者身上(或者你自己就是开源)。

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

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

1 个答案:

答案 0 :(得分:1)

如果您的sensible表包含合理的列而某些列不合理,并且如果您不使用where子句中的敏感列,则可以轻松加密/解密在没有显着性能成本的情况下,写/读操作的合理字段。

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

如果以上都不适用,那么SQLCipher旁边没有其他建议。