MD5是信息摘要算法(Message Digest Algorithm)的第5代,从MD2,MD3,MD4改进而来。主要是增强算法的复杂度和不可逆性。MD5恐怕是迄今为止使用最广泛的密码散列算法,计算结果是固定长度的128位,16字节的散列值。
由于它的不可逆性,以及不同明文(文件或者字符串)计算后会得到一个独一无二的“数字指纹”,所以被广泛的应用到密码存储,数字签名等领域。
MD5已经被证明存在碰撞(在对两个不同的内容使用 MD5算法运算的时候,有可能得到一对相同的结果值),所以并非100%安全。密码存储上可以用两次md5并且加盐的方法增强其安全性
比如php语言可以这样:
md5(md5('password').'salt')