Android json文件如何加密?

我有一个json文件放在工程目录asset目录下的,我现在不希望别人在拿到这个apk之后解压能看懂json内容,也就是说需要经过解密才能显示原来的字符串,否则是无意义字符,但是我自己在使用的时候也不需要解密再使用,有点类似代码混淆,有人弄过吗

阅读 12.2k
7 个回答

你放在asset中的话简直就是送给别人了。所以对asset中的信息进行加密,读取的时候进行解密。还有一个办法就是把json写死在代码里,通过代码的方式去拼接json,之后对代码进行混淆,这样别人读取的难度就比较大了,如果可以再对APP加固。因为你放在asset中只有apk升级的时候才能更新文件,所以这种方式应该是差不多复杂度,只不过比直接放在包里安全的多。sharedPreference也不安全,sp里的内容也是要加密的,否则手机root什么信息都泄漏了。

这样的需求,只能通过自己实现加解密过程了。Android apk的包文件打包及压缩机制限定了asset目录下的文件是不会被压缩或做其它改变的,因此没有你说的方式。

打包的时候加密,第一次使用的时候解密然后写到app私有的/data分区一份,如果数据量少的话直接存share preference一份,以后再使用就不用解密了。

别想了,有这么久的时间做加密和解密早就行了。

加密放数据库,放 Sp里面吧

一定要放在asset的话,就自己用一下加密吧,aes之类的算法。

我是希望能够和代码混淆配置文件一样,只有发布release包的时候json的内容变得不可读,但是我json文件使用还是和原来一样解析json的代码不需要事先解密也不需要特殊处理

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题