我想将密码字段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(),
]);
}
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
}