Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/218.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/0/xml/13.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 如何保护XML文件?_Android_Xml - Fatal编程技术网

Android 如何保护XML文件?

Android 如何保护XML文件?,android,xml,Android,Xml,我有一个从我的Web空间解析数据的应用程序。但如果你对我的应用程序进行反向工程,任何人都可以找到我存储数据的地方。如何防止其他人访问我的XML文件。(我将所有文件路径存储在字符串文件中,因此proguard不会解决它),是否有办法将数据保存在工作区中,并且只有应用程序才能访问它?或者有没有提供这种功能的服务?(注意:我没有任何web开发经验) 提前感谢:)要做到这一点真的不是一个简单的方法。您可以做一些事情,比如密码保护目录(但密码必须存储在apk中)或使用API密钥(但同样,您需要将其存储在a

我有一个从我的Web空间解析数据的应用程序。但如果你对我的应用程序进行反向工程,任何人都可以找到我存储数据的地方。如何防止其他人访问我的XML文件。(我将所有文件路径存储在字符串文件中,因此proguard不会解决它),是否有办法将数据保存在工作区中,并且只有应用程序才能访问它?或者有没有提供这种功能的服务?(注意:我没有任何web开发经验)


提前感谢:)

要做到这一点真的不是一个简单的方法。您可以做一些事情,比如密码保护目录(但密码必须存储在apk中)或使用API密钥(但同样,您需要将其存储在apk中)

一种选择是通过某种复杂的算法动态构建字符串路径,从而使proguard模糊处理变得有用。然而,在一天结束时,您仍然容易受到数据包检查的攻击(假设您不使用HTTPS)。您还可以构建一个共享密钥生成器(基本上是一个基于时间生成看似随机密钥的算法),该生成器在应用程序和服务器上运行。然后在运行时比较这些值,如果它们匹配,则将提供该文件。同样,proguard混淆将有助于弄清楚算法是如何工作的

另一个选择是利用Android的私人空间。如果手机扎根了,你会被套住,但这会有帮助。基本上遵循这个算法:

  • 安装后,让应用程序生成唯一的id
  • 将唯一ID发送到记录该ID并生成对称密钥的服务器
  • 将对称密钥存储在应用程序专用存储空间中
  • 每次发出请求时,都会随请求一起发送唯一id
  • 服务器从数据库中检索以前生成的密钥,并使用它来加密所提供的文件
  • 然后,应用程序从应用程序私有存储空间加载密钥并解密文件

  • 你能对它们进行加密并将加密密钥保存在字符串文件之外吗?让它变得很难得到?你所问的是最难解决的问题之一:“我有一个东西,每个人都知道它是如何工作的,我如何限制对它使用的资源的访问?”