Android json文件如何加密?
我有一个json文件放在工程目录asset目录下的,我现在不希望别人在拿到这个apk之后解压能看懂json内容,也就是说需要经过解密才能显示原来的字符串,否则是无意义字符,但是我自己在使用的时候也不需要解密再使用,有点类似代码混淆,有人弄过吗
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(7)
你放在asset中的话简直就是送给别人了。所以对asset中的信息进行加密,读取的时候进行解密。还有一个办法就是把json写死在代码里,通过代码的方式去拼接json,之后对代码进行混淆,这样别人读取的难度就比较大了,如果可以再对APP加固。因为你放在asset中只有apk升级的时候才能更新文件,所以这种方式应该是差不多复杂度,只不过比直接放在包里安全的多。sharedPreference也不安全,sp里的内容也是要加密的,否则手机root什么信息都泄漏了。
https://segmentfault.com/q/10...
这样的需求,只能通过自己实现加解密过程了。Android apk的包文件打包及压缩机制限定了asset目录下的文件是不会被压缩或做其它改变的,因此没有你说的方式。
打包的时候加密,第一次使用的时候解密然后写到app私有的/data分区一份,如果数据量少的话直接存share preference一份,以后再使用就不用解密了。
别想了,有这么久的时间做加密和解密早就行了。
加密放数据库,放 Sp里面吧
一定要放在asset的话,就自己用一下加密吧,aes之类的算法。
我是希望能够和代码混淆配置文件一样,只有发布release包的时候json的内容变得不可读,但是我json文件使用还是和原来一样解析json的代码不需要事先解密也不需要特殊处理