MD5密码登录无法正常工作laravel 5


MD5 Password login is not working laravel 5

我想将密码字段bcrypt更改为md5。在数据库中,我将密码存储在md5中,但登录不起作用

myController:

 public function postLogin(Request $request)
 {
    $this->validate($request, array('username' => 'required', 'password' => 'required'));
    $credentials = $request->only('email', 'password');
    if (Auth::validate($credentials)) 
    {
        $user = Auth::getLastAttempted();
        Auth::login($user, $request->has('remember'));
        return redirect()->intended($this->redirectPath());
    }
    return redirect($this->loginPath())
      ->withInput($request->only('email', 'remember'))
      ->withErrors([
          'email' => $this->getFailedLoginMessage(),
        ]);
}
由于Laravel的默认用户提供程序依赖于bcrypt,因此您需要创建一个自定义用户提供程序来完成此操作。文件在这里:

https://laravel.com/docs/5.2/authentication#adding-自定义用户提供商

然而,现实是你不想这样做。MD5完全不适合密码哈希——Laravel内置了更安全的哈希,你真的应该使用它。

在从字段获取密码时使用md5,并使用数据库md5密码进行检查。

示例:

$passs=md5($request->password);
$username=$request->username;
$adminPass=$user->select('password')->where('user','=',$username)->first();
if($passs===$adminPass){
   // redirect
}