在Laravel 4中我有以下条件来查看用户是否正确插入了他当前的密码,如果是,则执行某些操作。
以下是代码:
if(Auth::user()->password==Hash::make(Input::get('old_password')) )
{
echo 'done';
}
但它不符合条件。为什么呢?
答案 0 :(得分:21)
因为哈希的一部分是永远不会相同的盐。您需要使用Hash::check
方法,而不知道该怎么做。所以......
if (Hash::check(Input::get('old_password'), Auth::user()->password)) {
echo 'done';
}
答案 1 :(得分:2)
Auth :: validate也是一种选择。
$credentials = ['email' => Auth::user()->email, 'password' => Input::get('old_password')];
if (Auth::validate($credentials)) {
echo "Successful";
}