【问题标题】:Laravel Password Basic HashingLaravel 密码基本哈希
【发布时间】:2021-06-01 09:33:58
【问题描述】:

我想在 Laravel 中加密密码。但是每次页面刷新时,Hash 或 Crypt 都会再次加密。所以我不使用它。

  $pass = Hash::make($user_password);
  $pass = Crypt::encrypt($user_password);

如何使用 Hash 或 Crypt 方法进行一次加密?因为我不能用Hash做登录页面。

我解决了这个问题

  public function login(Request $request)
    {
    
     $email = $request->input('user_email');
     $password = $request->input('user_password');

     $user = BO_USER::where('email', '=', $email)->first();
     if (!$user) {
        return response()->json(['success'=>false, 'message' => 'Login Fail, please check email id']);
     }
     if (!Hash::check($password, $user->password)) {
        return response()->json(['success'=>false, 'message' => 'Login Fail, pls check password']);
     }
        //return response()->json(['success'=>true,'message'=>'success', 'data' => $user]);
       return redirect('/dashboard');
    }

【问题讨论】:

  • 密码不用Crypt(可以解密),你要用Hash(单向)。除此之外,我不确定您在说什么...典型方法,哈希并保存到数据库,然后将用户输入与保存的密码进行比较。试着更好地解释你的问题;目前有点不清楚。
  • 你是什么意思它在每次页面刷新时加密?您在代码库的哪个位置调用了 Hash?在*别,您想做什么?如果你想要一个 laravel 的登录系统,你是否排除了轻风、喷射流和设防?
  • edit您的问题以删除解决方案并将您的解决方案作为对本帖的回答发布。您可以自行回答,但只能作为单独的帖子进行。

标签: laravel hash crypt


【解决方案1】:

您将使用Hash,因为Crypt 可以被解密。

查看文档:

【讨论】: