我想在本地保存从服务器检索的用户分数,以减少对服务器的调用次数。
但是,如果我使用 SharedPreferences,用户可以轻松编辑它。如果我使用本地数据库,如果用户具有 root 访问权限,也可以更改它。
那么有没有什么办法可以安全的存储数据呢?我应该对其进行编码吗?
请注意,我无法检查本地分数是否等于服务器分数,因为它可能会被应用程序修改。
最佳答案
一种更好的方法来加强安全性,同时将数据保存在服务器上并在那里加强安全性。但是,如果您希望将其保存在本地;然后加密并保存。
- 用于sqlite加密; https://guardianproject.info/code/sqlcipher/
是很棒的。 (link to project) - 用于保存文件或 blob 数据 https://github.com/facebook/conceal可能 帮助。
- 用于在共享首选项中保存简单的键值对 - https://github.com/scottyab/AESCrypt-Android很有用
在共享首选项或未经加密的原始 SQLite 数据库中保存敏感数据(例如用户的个人信息和/或密码)是不好的。
关于Android - 保存数据的安全性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37217628/