首页 > 解决方案 > 如何在 Laravel Auth 登录检查中更改为 bcrypt 而不是 md5

问题描述

我正在使用 Hesto/multi-auth

创建新的身份验证模块后,我能够注册用户,但是当我尝试使用相同的凭据登录时,登录尝试失败。所以我更新了RegisterController.php->create()方法并将密码加密从默认更改bcryptmd5(存储时)。然后我通过注册创建了另一个用户,然后登录成功。

所以要理解这个问题:我的 laravel 版本是在登录/检查密码时使用 md5 加密比较“密码”。但我想继续使用bcrypt注册和登录(在两个用例中)。我应该如何更改登录方法以使用bcrypt而不是md5

我的 Laravel 版本:5.5.28

protected function create(array $data)
{
    return Shopowner::create([
        'name' => $data['name'],
        'email' => $data['email'],
        //'password' => bcrypt($data['password']),
        'password' => md5($data['password']),
    ]);
}

标签: laravelauthenticationmd5bcryptpassword-encryption

解决方案


我的 laravel 版本在登录/检查密码时使用 md5 加密比较“密码”。但我想继续使用 bcrypt 注册和登录(在两个用例中)。

在您的config/hashing.php文件中,将驱动程序更改为bcrypt

我应该如何更改登录方法以使用 bcrypt 而不是 md5?

在您的RegisterController, 中使用Hash::make($data['password']);代替bcryptormd5函数来确保使用您的驱动程序对密码进行哈希处理


推荐阅读