把任意长度的数据转换为一个长度固定的数据串
1, CRC (Cyclic Redundancy Check)
1961年由Wesley Peterson提出
CRC速度快,但不具有安全性(可以从结果得到可能的若干种输入),而且碰撞概率一般较高,一般用于对安全性需求不高的场合。
https://en.wikipedia.org/wiki/Cyclic_redundancy_check
http://www.sunshine2k.de/articles/coding/crc/understanding_crc.html
https://www.zlib.net/crc_v3.txt
2, MD (Message Digest Algorithm)
1992年由Ron Rivest提出
MD2: 16字节(128位)
MD4: 16字节(128位)
MD5: 16字节(128位) 密码比对
3, SHA(Secure Hash Algorithm)
美国国家标准技术研究院(NIST)制定
SHA-1 20字节(160位) CA和数字证书
SHA-2:
SHA-224 28字节(224位)
SHA-256 32字节(256位)
SHA-384 48字节(384位)
SHA-512 64字节(512位)