1. 单向散列算法
- 单向散列算法也称为哈希算法,它是一种不可逆的单向数学函数,把哈希算法应用于任意长度的一块数据,可以将它映射为一段数据唯一的、不可逆的、定长的、极其紧凑的字符串,这个字符串便称为散列值、哈希值或消息摘要。
- 常见的单向散列算法有由Ron Rivest设计的可以产生128位散列值的MD5和由NSA设计的可以产生160位的散列值的SHA-1,还有SHA-224、 SHA-256、SHA-384 和SHA-512等。
常见 HASH 算法:
SM3 | SHA | MD5 | |
---|---|---|---|
Hash值 | 256bit | 160bit | 128bit |
分组处理长 | 512bit | 512bit | 512bit |
基本字长 | 32bit | 32bit | 32bit |
步数 | 64(3*16) | 80(4*20) | 64(4*16) |
消息长 | <2^64bit | 2^64bit | 不限 |
MD5: MD5 是由 Ron Rivest 设计的可产生一个 128 位的散列值的散列算