用随机盐(salt)增加密码存储安全

作者:vkvi 来源:ITPOW(原创) 日期:2010-2-5

密码存储形式有三种:明文、加密、哈希值。

明文肯定是不可取的;加密的优点是可以还原密码,缺点是不如哈希值安全。所以我们一般用哈希值存储密码,常用的计算哈希值的方法是 MD5 和 SHA-1,本文以 MD5 为例。

为哈希值增加一个随机盐可以增加密码的安全性。

增加简单密码的安全性

假设用户的密码是 1,那么 MD5 值就是:c4ca4238a0b923820dcc509a6f75849b。

这个在网上很容易被反查出来,比如这两个网址:http://www.xmd5.org/index_cn.htmhttp://md5.rednoize.com/

但如果加上随机盐就不同了,假如我们的随机盐是 6 个随机字符,就比如是:xids#3,存储的就是 MD5("xids#3" + "1"),随机盐被明文存储在另一个字段时,到时候判断密码时再把密码和随机盐混合起来计算。而要反查 MD5("xids#3" + "1") 就不是件容易的事了。

让相同的密码具有不同的结果

由于有随机盐参与了 MD5 运算,所以相同的密码,由于随机盐不同,哈希值就不同了。

相关文章