随机盐(salt)增加密码存储安全
密码存储形式有三种: 明文 , 加密 , 哈希值
明文肯定是不可取的:加密的优点是可以还原密码,缺点是不如哈希值安全,所以我们一般用
哈希值存储密码,常用的计算哈希值的方法是MD5和SHA-1,本文以MD5为例为哈希值增加一个随机盐可以增加密码的安全性.
增加简单密码的安全性
假如用户的密码是1,那么MD5值就是:c4ca4238a0b923820dcc509a6f75849b。
这个在网上很容易被反查出来
但如果加上随机盐就不同了,假如我们的随机盐是 6 个随机字符,就比如是:xids#3,存储的就是 MD5("xids#3" + "1"),随机盐被明文存储在另一个字段时,到时候判断密码时再把密码和随机盐混合起来计算。而要反查 MD5("xids#3" + "1") 就不是件容易的事了。
让相同的密码具有不同的结果
由于有随机盐参与了 MD5 运算,所以相同的密码,由于随机盐不同,哈希值就不同了。 |
|