Android加密
来源:互联网 发布:认字软件哪个好 编辑:程序博客网 时间:2024/05/22 16:04
前提
为了防止服务器数据被爬, 客户端和服务器传输数据需要加密处理
Java代码容易被破解, 需要将加密逻辑放到C里面
C代码编译成的so文件可能会被二次打包, 不用破解C就能用so爬取服务器数据
福音: Android的keystore文件无法被破解
keystore文件的hash可被其他应用直接通过包名获取
加密方案设计
因为用到加密算法, 而网上包括github的许多库并不是无懈可击, 所以最开始打算用openssl, 然后编译成so库, 或者直接从自己手机的文件里直接扣出来加密库, 然后再网上找找怎么使用, 因为AES具体还有多个种类, RSA也是. 这样还得调研某个加密模式的具体用法.
幸好当时在官网看了下官网的介绍:
Android developer Cipher
文中说openssl已经不建议使用, 现在Android中用的是boringssl, 大喜.
boringssl的介绍:
这里直接给了建议, 使用C调用JAVA的加密库, 666, 不用调研C的加密实现了
剩下的事情就是用JAVA实现, 然后通过C调用Java的加密. 当然, C里还可以对加密后的数据进一步处理. 所以流程上是Java->C->Java, 然后再return.
通过keystore文件防止破解
参考:
AESJniEncrypt
这里面的逻辑是通过在C中获取当前使用的keystore是不是作者的keystore防止二次打包, 毕竟keystore无法被二次打包.
用JAVA做加密的逻辑是Android官网建议的, 使用keystore防二次打包是必须的, 就这样.
阅读全文
0 0
- Android加密
- android 加密
- Android 加密
- android 加密
- Android加密
- android 通信加密,本地加密
- Android 加密之MD5加密
- Android安全加密:对称加密
- Android 安全加密:对称加密
- Android安全加密:对称加密
- Android安全加密:对称加密
- Android安全加密:对称加密
- Android安全加密:对称加密
- Android安全加密:对称加密
- Android 密码加密 AEC加密
- Android安全加密:对称加密
- Android 数据加密 MD5加密
- Android加密之全盘加密
- 3D轮播
- Java配置文件Properties的读取、写入与更新操作
- HDU 1719 Friend
- HDU 1719 Friend(规律)
- virtualbox下,虚拟机 ubuntu_1做为虚拟交换机,ubuntu-2 ubuntu-3作为虚拟机接在ubuntu_1上
- Android加密
- 每天一道LeetCode-----将间隔集中有重叠的间隔合并
- centos7 下安装 nginx-1.12.2
- <不定时一题>归并排序
- 游戏制作
- C语言进阶-第19讲:链表应用(改造链表)
- nginx的负载均衡
- 常用 Git 命令清单
- AS java.util.concurrent.ExecutionException: com.android.tools.aapt2.Aapt2Exception: AAPT2(171104