- 授权协议: GPL
- 开发语言: Java
- 操作系统: 跨平台
- 软件首页: https://github.com/panxw/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包。
PS:
作者GitHub,https://github.com/panxw, 欢迎来Follow~
C++数值算法(第二版)
William T.Vetterling、Brian P.Flannery、Saul A.Teukolsky / 胡健伟、赵志勇、薛运华 / 电子工业出版社 / 2005年01月 / 68.00
本书选材内容丰富,除了通常数值方法课程的内容外,还包含当代科学计算大量用到的专题,如求特殊函数值、随机数、排序、最优化、快速傅里叶变换、谱分析、小波变换、统计描述和数据建模、常微分方程和偏微分方程数值解、若干编码算法和任意精度的计算等。 本书科学性和实用性统一。每个专题中,不仅对每种算法给出了数学分析和比较,而且根据作者的经验对算法做出了评论和建议,并在此基础上给出了用C++语言编写的实用程......一起来看看 《C++数值算法(第二版)》 这本书的介绍吧!
