Android:如何保护SQLite数据库中的数据?

Gui*_*ume 18 sqlite encryption android protection

我目前正在开发一款将数据保存到SQLite数据库中的Android游戏.这不是真正的"敏感"数据,但我不希望用户能够修改它(出于游戏平衡的明显原因,因为它会作弊).当手机植根时,访问和修改SQLite数据库非常容易(市场上有很多应用程序).

那么我是否应该担心这一点,或者考虑使用带有根电话的用户可以做任何他们想做的事情,包括作弊,这是他们的选择?或者我可以以某种方式加密我不希望他们修改的数据,或添加MD5校验和或类似的东西?

另一种方法是完全放弃SQLite并使用某种二进制文件和游戏数据.

如果你们中的一些人已经遇到过类似的问题,你们采取了哪些方法,以及Android游戏开发社区的"良好实践",请告诉我们.

谢谢.

lxg*_*xgr 5

每个人的root访问权限和安全性是互斥的.

具有root权限的任何应用程序或用户都可以读取和修改系统上的每个文件以及所有主内存.这并没有让很多地方存储数据库的潜在加密密钥.

你可以在可执行文件,配置文件等中隐藏密钥的一部分,但你能想到的一切只不过是默默无闻的混淆和安全.

如果用户选择向所有人授予root访问权限,那就是他们的决定,而不是作为应用程序开发人员的工作来防止可能造成的任何伤害.

更新: 在Android中存储API密钥,是否足够晦涩?这是一个非常类似的问题 - 它是关于保护API密钥,但是对于您的选项,情况也是如此.