基于哈希算法,哈希算法特征

  基于哈希算法,哈希算法特征

  3358hi.baidu.com/baoer1024/blog/item/62c8893a3c439f8b311c 74d . html拉宾哈希和其他哈希算法比较2009-11-21 22:32

  最近看了RabinHash相关资料,写了一些相关程序。让我们比较一下罗宾哈什和SHA1。

  拉宾哈什

  冲突率很小。它把等价的计算文本看成一个由01串组成的大数或多项式,对一个不可约多项式求模得到结果。计算时间是线性的,在实现中只能使用移位和异或,所以计算速度更快。对于定长哈希,如果已知当前位置的哈希值,则可以在常数时间内计算出向后移动一个单位的哈希值。该性质可用于文本匹配,时间复杂度为O(n)。在实践中,移位可以预先以字节或字的形式记录下来,以进一步提高速度。

  SHA1

  SHA1的全称是安全哈希算法。加密函数将任意长度的二进制字符串映射到固定长度的小型二进制字符串。加密散列函数具有这样的性质,即在计算上不可能找到具有相同值的两个不同输入;也就是说,只有当相应的数据也匹配时,两组数据的哈希值才会匹配。数据的微小变化会导致哈希值发生不可预测的巨大变化。所以很难从加密文本中找到线索。通常用于数字签名。生成的hash为160位,是不可逆算法。计算过程包括比特填充、长度填充、常量使用和多个函数,是典型的hash hash。

  讯息摘要5

  MD5的全称是Message-Digest Algorithm 5(消息摘要算法5),由麻省理工学院计算机科学实验室和Rsa数据安全公司的Ronald l. rivest在90年代初开发,由md2、md3和md4开发。它的作用是在用数字签名软件对私钥进行签名之前,将大容量信息‘压缩’成秘密格式(即将任意长度的字节串转换成某个长度的大整数)。无论是md2、md4还是md5,它们都需要获得一个随机长度的信息,并生成一个128位的信息摘要。MD5算法的哈希值是128位。这是一个不可逆的算法。

基于哈希算法,哈希算法特征