Android:关于SQLite db的安全问题
你好,我有一个android应用程序。在我的应用程序中,我有一个存储在设备上的SQLite数据库,它应该与存储在服务器上的MySQL数据库同步 现在我必须检索ID列表。我可以查询SQLite数据库或MySQL数据库。我选择使用SQLite数据库,因为考虑到我必须做的事情,它会更快更容易。但是现在我在想这个问题,我有一个问题:android SQLite数据库文件安全吗?我的意思是有没有可能有人访问这些文件并修改其中的信息,或者这些文件对用户是隐藏的 因为如果我向服务器询问信息,我肯定它是安全的,相反,我不知道android数据库的安全级别Android:关于SQLite db的安全问题,android,database,security,Android,Database,Security,你好,我有一个android应用程序。在我的应用程序中,我有一个存储在设备上的SQLite数据库,它应该与存储在服务器上的MySQL数据库同步 现在我必须检索ID列表。我可以查询SQLite数据库或MySQL数据库。我选择使用SQLite数据库,因为考虑到我必须做的事情,它会更快更容易。但是现在我在想这个问题,我有一个问题:android SQLite数据库文件安全吗?我的意思是有没有可能有人访问这些文件并修改其中的信息,或者这些文件对用户是隐藏的 因为如果我向服务器询问信息,我肯定它是安全的,
假设每个ID对应于我付费的应用程序ID(例如应用程序3和5)。当我找到一种方法来修改android数据库并添加应用程序7和8时,设备似乎认为我也为这些应用程序付费,而我没有,也不能使用它们。这就是为什么我想查询MySQL数据库的原因,因为用户不能修改它,但这样会慢一些。你认为呢?理想情况下,存储在应用程序私有/数据目录中的数据应该是私有的,但如果有人使用手机,他们可以不受限制地访问它。最好是基于这样的假设进行设计:如果没有加密,您的电话数据库是不安全的,即使这样,用户也有可能尝试闯入。使用根设备,用户可以轻松添加/删除/修改数据库中的现有记录
您可以做的一件事是,在接受本地缓存数据库的“付费”值之前,计算数据库中行的MD5散列,并将其与存储在MySQL服务器上的特定用户的散列进行比较。这种方法可能被您接受,也可能不被您接受,因为它显然需要互联网连接 请也选中这些选项,它们可能会帮助任何想要保护数据库的人 用于Android的SQLCipher 1-android Sql3包装库 2-libsqlite3_jni.so 另外,请阅读下面的文章,让您在上面的选项搜索,我希望这将有很大帮助 注: 您可以完全保护您的设备,就好像该设备将由任何人根目录一样。因此,请使用其他一些安全方法,如使用双因素身份验证和密码保护来保护数据库
如果有人在你的设备上设置了根目录,至少你应该有一些受密码保护的文件。+1你设备上未加密的数据永远不会安全,特别是如果它真的很敏感的话。请看我很抱歉对您的问题进行了激烈的编辑,但使用。。。。。那么???不会提高可读性和问题质量;-)