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()总是返回一个不同的字符串.我想出于安全目的.

相关文章

统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
前言 之前做了微信登录,所以总结一下微信授权登录并获取用户...
FastAdmin是我第一个接触的后台管理系统框架。FastAdmin是一...
之前公司需要一个内部的通讯软件,就叫我做一个。通讯软件嘛...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...