3
我总是使用MD5加密密码,但我读了它不应该更多的被使用,而是使用bcrypt
我使用zendframework 2,在那里我发现它描述如下bcrypt配置:
$bcrypt = new Bcrypt(array(
'salt' => 'random value',
'cost' => 11
));
什么是盐和什么是成本?以及它们如何被使用?
所以,当在我的网站用户注册,Bcrypt将随机文本添加到他的密码, 当他再次尝试登录,我怎么能验证登录 - 密码匹配注册一个(我不知道随机盐) – darroosh 2014-08-30 20:03:31
正如解释[这里](http://framework.zend.com/manual/2.0/en/modules/zend.crypt.password.html),你会使用'$ bcrypt-> verify($ password,$ storedPassword)',其中'$ password'是用户刚输入的内容,'$ storedPassword'是保存的(腌制和散列)值。 salt在创建散列时存储在返回值中,因此您不必单独存储它。 – 2014-08-30 20:06:19
对不起,你没有明白你的意思:“盐在创建散列时存储在返回值中”, 未存储用户注册时创建散列的返回值...因此,在验证用户,我怎么知道盐?或者你的意思是我应该存储返回值中的盐? – darroosh 2014-08-30 20:38:58