我正在尝试了解在 Android 中存储敏感数据的最佳方式。在我的应用程序中,我想插入一个带有一些硬币的经典应用程序内购买模型。我的问题是我不确定如何正确实现。 最初的想法是简单地使用我的 firebase 数据库,存储每个用户的硬币数量,并在每次应用程序启动时获取数据。这样我可以很容易地检测到一些不当的使用,但我的用户被迫使用互联网来玩。 查看文档,我发现 this .这可以解决吗?我可以在内部存储中保存硬币数量,也许使用某种类型的加密,以避免 root 用户修改文件吗?然后当互联网打开时,我可以用数据库中的变量仔细检查本地存储的变量。 谢谢
最佳答案
这不是一项“容易”的任务。 从技术上讲,您可以创建一个 SecretKey 并加密数据,因此任何普通用户都无法复制。如果您担心的是 root 用户,那您就有点不走运了,因为他可以在您的应用程序读取/写入该值时连接到您的应用程序。
但在线存储本身并不是解决方案。你必须回答这样的问题:“你信任任何服务器输入吗”? “如何确保刚刚支付的币被添加”?
你看过Google Play billing了吗? ?
它提供了确定是否有人付款的安全方法。 这需要在线。
关于android - 将重要数据存储在内部存储器中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52699538/