MD5
MD5(Message Digest Algorithm 5)(消息摘要算法第五版),是计算机安全领域广泛使用的一种散列函数,用以提供消息的完整性保护.
- 输入任意长度信息,输出长度固定: MD5 可输入任意长度的信息,其输出均为128位(bit) 固定长度的二进制数据。一般将二进制转成16进制,每4个二进制数据转化为一个16进制数据,128位二进制数据转化为32个十六进制数据
(128/4 = 32)
,最终以字符串形式呈现十六进制数据后则为长度为32的字符串 - 运算速度快: MD5的运算均为32位 与、或、非、位移等位运算,因此其运算速率快,几乎不消耗CPU时间。
- 不可逆: 根据MD5的的散列结果,无法计算出原始数据(查字典除外)。
- 碰撞性: 原始数据与其MD5散列结果并非一一对应,存在多个原始数据的MD5结果相同的可能性。
- 不安全: 2011年,RFC 6151 禁止MD5用作密钥散列消息认证码。