Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/213.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android:关于SQLite db的安全问题_Android_Database_Security - Fatal编程技术网

Android:关于SQLite db的安全问题

Android:关于SQLite db的安全问题,android,database,security,Android,Database,Security,你好,我有一个android应用程序。在我的应用程序中,我有一个存储在设备上的SQLite数据库,它应该与存储在服务器上的MySQL数据库同步 现在我必须检索ID列表。我可以查询SQLite数据库或MySQL数据库。我选择使用SQLite数据库,因为考虑到我必须做的事情,它会更快更容易。但是现在我在想这个问题,我有一个问题:android SQLite数据库文件安全吗?我的意思是有没有可能有人访问这些文件并修改其中的信息,或者这些文件对用户是隐藏的 因为如果我向服务器询问信息,我肯定它是安全的,

你好,我有一个android应用程序。在我的应用程序中,我有一个存储在设备上的SQLite数据库,它应该与存储在服务器上的MySQL数据库同步

现在我必须检索ID列表。我可以查询SQLite数据库或MySQL数据库。我选择使用SQLite数据库,因为考虑到我必须做的事情,它会更快更容易。但是现在我在想这个问题,我有一个问题:android SQLite数据库文件安全吗?我的意思是有没有可能有人访问这些文件并修改其中的信息,或者这些文件对用户是隐藏的

因为如果我向服务器询问信息,我肯定它是安全的,相反,我不知道android数据库的安全级别


假设每个ID对应于我付费的应用程序ID(例如应用程序3和5)。当我找到一种方法来修改android数据库并添加应用程序7和8时,设备似乎认为我也为这些应用程序付费,而我没有,也不能使用它们。这就是为什么我想查询MySQL数据库的原因,因为用户不能修改它,但这样会慢一些。你认为呢?

理想情况下,存储在应用程序私有/数据目录中的数据应该是私有的,但如果有人使用手机,他们可以不受限制地访问它。最好是基于这样的假设进行设计:如果没有加密,您的电话数据库是不安全的,即使这样,用户也有可能尝试闯入。

使用根设备,用户可以轻松添加/删除/修改数据库中的现有记录


您可以做的一件事是,在接受本地缓存数据库的“付费”值之前,计算数据库中行的MD5散列,并将其与存储在MySQL服务器上的特定用户的散列进行比较。这种方法可能被您接受,也可能不被您接受,因为它显然需要互联网连接

请也选中这些选项,它们可能会帮助任何想要保护数据库的人

用于Android的SQLCipher

1-android Sql3包装库

2-libsqlite3_jni.so

另外,请阅读下面的文章,让您在上面的选项搜索,我希望这将有很大帮助

注:

您可以完全保护您的设备,就好像该设备将由任何人根目录一样。因此,请使用其他一些安全方法,如使用双因素身份验证和密码保护来保护数据库


如果有人在你的设备上设置了根目录,至少你应该有一些受密码保护的文件。

+1你设备上未加密的数据永远不会安全,特别是如果它真的很敏感的话。请看我很抱歉对您的问题进行了激烈的编辑,但使用。。。。。那么???不会提高可读性和问题质量;-)