我正在为我的应用实施应用内结算系统,并且(作为文档建议)我想在数据库中添加一些加密系统。
我已经测试了SQLCipher,我很喜欢它但是因为它需要覆盖android.database.sqlite.*
的所有类,你的应用程序会失去与SDK部分的连接,从而失去可能的重要未来更新和依赖在开发者身上(或者你自己就是开源)。
我考虑过的其他解决方案是在sensible
表中添加一个额外的列,存储一个值(每个设备都是唯一的),然后忽略不包含该键的数据。但这种方法显然更加薄弱。
如何在不使用SQLCipher的情况下提高安全性?感谢
答案 0 :(得分:1)
如果您的sensible
表包含合理的列而某些列不合理,并且如果您不使用where
子句中的敏感列,则可以轻松加密/解密在没有显着性能成本的情况下,写/读操作的合理字段。
如果你需要在只有几条记录的表中的where子句中使用合理的列,你可以读取所有记录,解密并选择。
如果以上都不适用,那么SQLCipher
旁边没有其他建议。