现有的加密算法简介
一,MD5加密
MD5破解只能暴力破解,把常见的密码对应的密文存到字典.
输入:将其扩展成512bit的倍数, 填充大法
处理:4个连接变量,4个处理函数
输出:128位散列数
"md5就是把不论什么长度的文字内容,给精简成128位散列数。不论文字内容只有一个字母a,还是1w多字的长篇论文,都精简(或填充)成128位散列数。这就造成了破解几乎成为了不可能。"
在加密领域,DES和RSA才是真正的加密,而MD5更多的用在文档校验上,用来生成密钥检测文档是否被篡改。
二,散列(hash)与加密
hash:任意长度的输入,即预映射,通过散列算法,编程固定长度的输出,即散列值.
散列算法:将预映射压缩到固定长度的信息摘要函数
特点:散列值的空间通常小宇预映射, 不同预映射可能得到相同散列值
用途:文件校验 数字签名 鉴权协议
三,对称和非对称加密算法的区别
对称加密算法,通过一个密钥进行数据的加解密,密钥泄露,传输数据不安全
非对称加密算法, 存在公钥和私钥,一种用来加密,一种用来解密
区别: 对称效率高于非对称,
非对称用于安全性要求比较高的应用领域
三,RSA 非对称加密算法
http://www.ruanyifeng.com/blog/2013/06/rsa_algorithm_part_one.html
http://www.ruanyifeng.com/blog/2013/07/rsa_algorithm_part_two.html
AES:更快,兼容设备,安全级别高;
SHA1:公钥后处理回传
DES:本地数据,安全级别低
RSA:非对称加密,有公钥和私钥
MD5:防篡改