android-crypt-helper无
为防止网络传输过程中重要数据被篡改,客户端与服务端都会对发出的数据签名或加密,对收到的数据验签或解密。签名可能用到MD5,SHA1,加解密可能用到3DES,AES,RSA等。加密数据传输一般以字符串形式,通常会用到BASE64,HEX转换工具。
一、JAVA方式
笔者搜集了上面提到的主要几种加解密方式及转换的实现,在此分享出来供大家参考,欢迎提意见,我会进一步完善~
二、JNI封装算法
以上方式为JAVA实现,为了增加代码反编译的难度,大家还可以尝试将算法及KEY封装在JNI中,可参考:
GitHub地址:https://github.com/panxw/android-jni-project.git
三、使用说明
Test.java:总测试程序。
AESHelper.java:AES加解密工具。
DESedeHelper.java:3DES加解密工具。
RSAHelper.java:RSA加解密工具。
SignatureHelper.java:MD5, SHA-1签名工具。
Base64.java及Hex.java:字符串与字节码转换工具。
Base64如报错,请用security中的jar文件换掉JRE/lib/security中的jar包
评论