微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

php – 在Laravel 5.4中更改密码

我在我的webapp中添加了更改密码的代码.但是Hash :: check()不起作用.总是返回false. Hash :: Make()每次都返回不同的字符串.我尝试过bcrypt(),但它也不起作用.请帮我.这是我的代码.

public function changePassword(Request $request)
{
    $user = Auth::user();

    $curPassword = $request->input['curPassword'];
    $newPassword = $request->input['newPassword'];

    if (Hash::check($curPassword, $user->password)) {
        $user_id = $user->id;
        $obj_user = User::find($user_id)->first();
        $obj_user->password = Hash::make($newPassword);
        $obj_user->save();

        return response()->json(["result"=>true]);
    }
    else
    {
        return response()->json(["result"=>false]);
    }
}

谢谢.

解决方法:

我认为你的$curPassword变量是空的,这就是为什么它总是返回false.试试这种方式

$curPassword = $request->curPassword;
$newPassword = $request->newPassword;

除非您在输入数组中发送数据.但是somewhoe,Hash :: check()失败了,这意味着没有匹配.

至于相同的字符串,是的,Hash :: make()总是返回一个不同的字符串.我想出于安全目的.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐