Android - 保存数据的安全性
Android - Security On Saving Data
我想在本地保存从服务器检索的用户分数,以减少对服务器的调用次数。
但是,如果我使用 SharedPreferences,它可以很容易地被用户编辑。如果我使用本地数据库,如果用户具有 root 访问权限,也可以更改它。
那么有什么方法可以安全地存储数据呢?我应该对其进行编码吗?
请注意,我无法检查本地分数是否等于服务器分数,因为它可能会被应用程序修改。
一种更好的方式来加强安全性,同时将数据保存在您的服务器上并在那里加强安全性。但是,如果你想把它保存在本地;然后加密并保存。
- 用于sqlite加密; https://guardianproject.info/code/sqlcipher/
是很棒的。 (link to project)
- 对于保存文件或 blob 数据 https://github.com/facebook/conceal 可能
帮助。
- 用于在 sharedprefs 中保存简单的键值对 -
https://github.com/scottyab/AESCrypt-Android 有用
在共享首选项或未加密的原始 sqlite 数据库中保存用户个人信息 and/or 密码等敏感数据是不好的。
我想在本地保存从服务器检索的用户分数,以减少对服务器的调用次数。
但是,如果我使用 SharedPreferences,它可以很容易地被用户编辑。如果我使用本地数据库,如果用户具有 root 访问权限,也可以更改它。
那么有什么方法可以安全地存储数据呢?我应该对其进行编码吗?
请注意,我无法检查本地分数是否等于服务器分数,因为它可能会被应用程序修改。
一种更好的方式来加强安全性,同时将数据保存在您的服务器上并在那里加强安全性。但是,如果你想把它保存在本地;然后加密并保存。
- 用于sqlite加密; https://guardianproject.info/code/sqlcipher/
是很棒的。 (link to project) - 对于保存文件或 blob 数据 https://github.com/facebook/conceal 可能 帮助。
- 用于在 sharedprefs 中保存简单的键值对 - https://github.com/scottyab/AESCrypt-Android 有用
在共享首选项或未加密的原始 sqlite 数据库中保存用户个人信息 and/or 密码等敏感数据是不好的。