我已经使用Auth中间件完成了登录功能,其中使用了一种Bcrypt加密方法。登录功能运行良好。但我们需要处理设置密码功能与旧密码需要验证。但是每次Bcrypt方法都会更改密码字符串,导致以前在表中存储的密码bcrypt字符串与设置密码表单中手动输入的密码不匹配。那么,如果旧密码字段与表中现有保存的密码不匹配,该如何验证。
$credentials = request(['email', 'password']);
$user=Auth::attempt($credentials);发布于 2019-10-16 18:09:07
您使用的是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是一种古老且非常易受攻击的方法。这是非常不受欢迎的!
https://stackoverflow.com/questions/58410158
复制相似问题