这个HASH算法不是大学里数据结构课里那个HASH表的算法.这里的HASH算法是密码学的基础,比较常用的有MD5和SHA,最重要的两条性质,就是不可逆和无冲突.所谓不可逆,就是当你知道x的HASH值,无法求出x:所谓无冲突,就是当你知道x,无法求出一个y, 使x与y的HASH值相同. 这两条性质在数学上都是不成立的.因为一个函数必然可逆,且由于HASH函数的值域有限,理论上会有无穷多个不同的原始值,它们的hash值都相同.MD5和SHA做到的,是求逆和求冲突在计算上不可能,也就是正向计算很容易,…