hash

哈希:

hash

意思就是他可以将任意长度的消息压缩到某一固定长度的消息摘要的函数。

    Hash主要用于信息安全领域中加密算法,他把一些不同长度的信息转化成杂乱的128位的编码里,叫做Hash值.也可以说,Hash就是找到一种数据内容和数据存放地址之间的映射关系。HASH算法是密码学的基础,比较常用的有MD5和SHA,最重要的两条性质,就是不可逆无冲突所谓不可逆,就是当你知道x的HASH值,无法求出x;所谓无冲突,就是当你知道x,无法求出一个y, 使x与y的HASH值相同。

MD5和SHA1可以说是目前应用最广泛的Hash算法,而它们都是以MD4为基础设计的。

MD4(RFC1320)是MIT的RonaldL.Rivest在1990年设计的,MD是MessageDigest的缩写。它适用在32位字长的处理器上用高速软件实现--它是基于32位操作数的位操作来实现的。

    MD5(RFC1321)是Rivest于1991年对MD4的改进版本。它对输入仍以512位分组,其输出是4个32位字的级联,与MD4相同。MD5比MD4来得复杂,并且速度较之要慢一点,但更安全,在抗分析和抗差分方面表现更好。

SHA1是由NISTNSA设计为同DSA一起使用的,它对长度小于264的输入,产生长度为160bit的散列值,因此抗穷举(brute-force)性更好。SHA-1设计时基于和MD4相同原理,并且模仿了该算法。SHA-1是由美国标准技术局(NIST)颁布的国家标准,是一种应用最为广泛的Hash函数算法,也是目前最先进的加密技术,被*部门和私营业主用来处理敏感的信息。而SHA-1基于MD5,MD5又基于MD4。

 

 

Hash算法在信息安全方面的应用主要体现在以下的3个方面:1)文件校验2)数字签名3)鉴权协议

转载于:https://my.oschina.net/rainwz/blog/1829356