散列函数 | hash function

散列 英文hash, 所以有时有人也叫哈希

数学上有些函数具体以下特点.这些特点可以用来判断不同文件,文件,图片等.总之是二进制文件生成固定的字符,判断原文件是否相同.

  1. 计算出的固定长度的散列值.
  2. 能够快速计算出散列值.
  3. 不可逆(单向性).
  4. 搞碰撞性(具备相同散列值的两条不同的消息).

md4 md5
sha-1 sha-256 sha-384 sha-512
ripemd-160
ahs

MD4

搞强碰撞性已被攻破.

(是由Rivest于1990年设计的单向散列函数,能够产生128 比特的散列值(RFC1186,修订版RFC1320).

MD5

搞强碰撞性已被攻破.

是由Rivest于1991年设计的单项散列函数,能够产生128比特的散列值(RFC1321).
md是Message Digest的缩写.

SHA-1 SHA-2都是在2002年一起作为FIPUS PUB180-2发布的.

SHA-1

于2005证明能够产生具备相同散列值的两条不同的消息.

是由NIST(National Institute of Standards and Technology, 美国国家飘洋过海准 技术研究所)设计的一 种能够产生160比特的单向散列函数.1993年被作为美国联邦信息处理标准 规格(FIPS PUB 180)发布的是SHA.1995年发布的修订版FRPS PUB180-1称为SHA-1. SHA-1的消息长度存在上限,但这个值接近于2的64次幂比特.是一个巨大的数值,因些在实际中没有问题.

SHA-2 (sha-256 sha-384 sha-512)

这三个散列函数都是由NIST设计的单向散列函数,它们的散列值长度分别为256,384,512比特.
这三个函数被统称为SHA-2.

RIPEME-160

RIPEME-160在1996年由Hans Dobbertin, Antoon Bosselars, Bart Preneel设计的一种能够产生160比特的散列值的单向散列函数.
RIPEME-160是欧盟RIPE项目所设计的RIPEMD单身散列函数的修订版.
RIPEME的强搞碰撞性于2004年被攻破,RIPEME-160没有.

在2005年SHA-1的强抗碰撞性被攻破的背景下,NIST开始着手制定用于取代SHA-1的下一代单向散列函数SHA-3.