我在我的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 举报,一经查实,本站将立刻删除。