java-algorithm-helper
本文导语: 为防止网络传输过程中重要数据被篡改,客户端与服务端都会对发出的数据签名或加密,对收到的数据验签或解密。签名可能用到MD5,SHA1,加解密可能用到3DES,AES,RSA等。加密数据传输一般以字符串形式,通常会用到BASE64,H...
为防止网络传输过程中重要数据被篡改,客户端与服务端都会对发出的数据签名或加密,对收到的数据验签或解密。签名可能用到MD5,SHA1,加解密可能用到3DES,AES,RSA等。加密数据传输一般以字符串形式,通常会用到BASE64,HEX转换工具。
一、JAVA方式
笔者搜集了上面提到的主要几种加解密方式及转换的实现,在此分享出来供大家参考,欢迎提意见,我会进一步完善~
二、JNI封装算法
以上方式为JAVA实现,为了增加代码反编译的难度,大家还可以尝试将算法及KEY封装在JNI中,可参考:
GitHub地址:https://github.com/panxw/android-develop-toolkit/tree/master/JNIHelperProject
三、使用说明
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包。
PS:
顺便宣传下自己的GitHub,https://github.com/panxw, 欢迎来Follow~
您可能感兴趣的文章:
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。