パスワードの更新機能としてHash :: check()回数を使用しました。それは正常に動作していた。しかし、ここでは常にfalseを返します。なぜ私はその偽りを返すのか分かりません。ここに私のために働いたコードがあります。ここでLaravelでHash :: check()が返される
$pass_data = array(
'current_pass' => $post['old_pass'],
'new_pass' => $post['new_pass'],
);
$pass_data['new_pass'] = bcrypt($pass_data['new_pass']);
if (\Hash::check($pass_data['current_pass'],\Auth::user()->password))
{
$user = new User();
if($user->where('id',\Auth::user()->id)->update(['password'=>$pass_data['new_pass']])){
return response()->json(['msg'=>'Password Changed']);
}
}
else{
return response()->json(['msg'=>'Wrong Password']);
}
はfalseを返しているコードで、ここでの$ mem_idは、認証されたユーザーではありません(それがあるため、非認証されたユーザーのパスを変更するのでしょうか?)。
$mem_id = $request['mem_id'];
$old_pass = $request['mem_old_pass'];
$mem_pass = User::where('id',$mem_id)->pluck('password');
if (\Hash::check($old_pass,$mem_pass)) {
$new_pass = bcrypt($request['mem_new_pass']);
$update = User::where('id',$mem_id)->update(['name'=>$request['mem_name'],'email'=>$request['mem_email'],'password'=>$new_pass]);
if ($update) {
$updated_user = User::where('id',$mem_id)->get();
return response()->json(['msg'=>'updated','user'=>$updated_user]);
}
else{
return response()->json(['msg'=>'update_failed']);
}
}
else{
return response()->json(['msg'=>'pass_fail']);
}
私は応答'pass_fail'を取得しています。
うん、彼は右の暗号化をしています。私はチェックに関するコードの第二部分について話しています。 –
私の間違い申し訳ありませんが、あなたの答えは正しい –
は、1つは間違いだった、私はプレーンテキストのみを渡している質問を編集しました。それでもエラーが発生しました。 –