我正在研究构建一个登录系统,并且当您将一个2位数的盐传递给crypt()
函数时,它会读取PHP手册,它将返回一个哈希字符串,并且该字符串的前两位数字是您使用的盐。为什么PHP crypt()会在salt中加入哈希值?
例如:
$salt = "kr";
echo crypt("mysecret",$salt); //returns "kreOI.F7eOQMY"
我首先想到的是,就不会这样帮助别人谁是试图扭转你的哈希?
为了获得最佳的安全性,盐值保持秘密:
我在维基百科上说,它抬头salt。
所以我不明白为什么然后crypt函数返回所有使用salt值的哈希值?
这是有原因吗?这应该是安全问题吗?
这就是为什么我建议两部分的盐。一个在配置文件中是秘密的,但对所有用户都是一样的,另一部分与每个用户随机生成的不同密码一起保存。 – CodesInChaos 2011-01-26 17:34:31
@meager,其实我试图升级一个我继承的。 – 2011-01-26 17:38:21
维基百科不应该被视为福音。盐不是秘密。 – 2011-01-26 22:44:08