2017-02-04 7 views
0

パスワードの更新機能として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'を取得しています。

答えて

0

Usage.

if (Hash::check('plain-text', $hashedPassword)) { 
    // The passwords match... 
} 

あなたはHash::checkないプレーンテキストのパスワードが、bcrypt($old_pass);の結果に渡しています。暗号化されていないプレーンテキストを渡す必要があります。

+0

うん、彼は右の暗号化をしています。私はチェックに関するコードの第二部分について話しています。 –

+0

私の間違い申し訳ありませんが、あなたの答えは正しい –

+0

は、1つは間違いだった、私はプレーンテキストのみを渡している質問を編集しました。それでもエラーが発生しました。 –

0

問題はpluck()で発生しました。私はこのコードを使用する場合、それは完全に

$member = User::find($mem_id); 
$mem_pass = $member->password; 

を働いていた今私はハッシュへの$ mem_passを渡さ::チェック摘むメソッドは、指定された列の値を返さないので、それは完全に

1

を働きました。

関連する問題