我想使用md5加密方法登录表单中的密码字段,而不是现有的bcrypt加密方法?

问题描述 投票:1回答:1

我已经使用Auth中间件完成了登录功能,其中使用了Bcrypt加密方法。登录功能正常。但是,我们需要处理设置密码功能并需要验证旧密码。但是每次Bcrypt方法都会更改密码字符串,因此表中先前存储的密码的bcrypt字符串与以设置密码形式手动输入的密码不匹配。因此,如果旧密码字段与表中现有的已保存密码不匹配,如何验证旧密码字段。

$credentials = request(['email', 'password']);
$user=Auth::attempt($credentials);
authentication laravel-5 laravel-middleware
1个回答
0
投票

您正在使用Laravel,因此应使用Hash来处理密码。

这里是您需要了解的所有信息:https://laravel.com/docs/6.x/hashing#basic-usage

简而言之,您可以通过以下方式创建和验证密码:

创建哈希密码以存储在数据库中:

$hashedPassword = Hash::make($request->password);

使用现有密码验证

if (Hash::check('entered-password-by-user', $hashedPassword)) {
    // The passwords match...
}

当然,不要忘记包含哈希外观:use Illuminate\Support\Facades\Hash;

md5是古老且非常脆弱的方法,如果您想使用它来哈希密码。非常不推荐!

© www.soinside.com 2019 - 2024. All rights reserved.