我正在开发一个存储用户敏感数据的应用程序.我的问题是使用用户可以查看存储数据的其他应用程序.然后我需要为数据提供更好的安全性.
有没有办法为SQLite数据库和表提供更好的安全性?
在数据库中输入数据之前加密数据.据我所知,SQLite数据库保存在/ data /目录中的某个文件中.更重要的是,您的数据以纯文本格式保存.这意味着有人可以通过生根电话,获取.db SQLite文件并使用文本编辑器打开它来提取数据.
所以,加密你的数据:)
- 好吧,也许不是文本编辑器,而是简单的十六进制编辑器.无论如何...
查看SQLCipher for Android.它是免费的(Apache 2和BSD许可证).
PS.:有些ORM现在也支持SQLCipher,例如我们的greenDAO.
sqlite的作者提供了一个加密数据的版本.但它不是免费的
您可以使用从服务器检索到的用户特定盐来加密数据.这样,即使使用root访问权限,您也需要用户salt来解密数据库.由于您可以控制盐,因此您可以提供额外的安全保护,您的用户始终需要网络连接才能访问其数据.