在开发过程中,很多时候都要考虑数据安全的问题,尤其是涉及到金钱的问题上,大家都会非常敏感。所以在网络上出现了很多不同的数据加密的方法。
常见的有md5加密、Rsa加密、asr加密、base64加密等常见的加密方法。
md5加密
MD5即Message-Digest Algorithm 5(信息-摘要算法5),用于确保信息传输完整一致。是计算机广泛使用的杂凑算法之一(又译摘要算法、哈希算法),主流编程语言普遍已有MD5实现。将数据(如汉字)运算为另一固定长度值,是杂凑算法的基础原理,MD5的前身有MD2、MD3和MD4。
MD5的作用是让大容量信息在用数字签名软件签署私人密钥前被"压缩"成一种保密的格式(就是把一个任意长度的字节串变换成一定长的十六进制数字串)。
md5我们在开发一款App过程中,对于发的请求,其中有个“sign”的字段,这个key对应的value是MD5加密的字段。md5是不可逆的,至少现在是。它的作用是用于双边验证,即用于验证两个文件或者两段内容是否是一致的,因为两个一样的文件或者内容它们的md5值是一样的。所以有些文件下载工具,在下载完了之后都会进行验证,验证的方式就是md5。
变成一定长度的16进制的字符串后然后和后台进行比对。如果一样就说明匹配正确,如果不一样就是错误的。
关于RSA加密解密的解析 请参考网址 http://witcheryne.iteye.com/blog/2171850和http://blog.iamzsx.me/show.html?id=155002