在我的播种机中,我已经将我的代码改为:
'validCode' => Hash::make('1110578abc')
它在数据库中给出了这个结果: $ 2y $ 10 $ GaKhhxrMNCnzr
当我在控制器中输入相同的代码时,由于Bcrypt添加了随机盐,因此它会给出不同的值。
控制器:
dd(Hash::make(Input::get('code')));
(我在此输入字段中输入了1110578abc。)
它给了我这个价值:
$ 2Y $ 10 $ xxVU78CphJEGOOTT1teNY.LeLb7kBjDvP9Npbf1h4.T4HDtuIFD16
对于我的应用程序,我想检查这两个值是否匹配。是否有人知道如何做到这一点?
答案 0 :(得分:1)
您可以使用Hash::check()
方法。 check
方法允许您验证给定的纯文本字符串是否与给定的哈希相对应。
尝试:
if (Hash::check('plain-text', $hashedPassword)) {
// The passwords match...
}
答案 1 :(得分:0)
回复我帖子的具体代码:
if (Hash::check(Input::get('code') , '$2y$10$GaKhhxrMNCnzr'))
{
dd('match');
}
else
{
dd('no match');
}
这解决了它并返回'匹配'。