在我的应用程序中,我为我创建的所有用户都有一个默认密码(例如1234),当用户第一次登录时,将要求他更改该密码
我的目标是当一个用户登录时,我想检查他的密码是否等于默认值(1234),如果是真的,我将他重定向到重置页面如果不是,我将什么也不做
所以我的问题是
如何检查该用户的密码是否等于我的值?

最佳答案

我在stackoverflow上找到了一个对我有很大帮助的答案
你可以用几种方法:
集装箱外

$user = User::find($id);
$hasher = app('hash');
if ($hasher->check('passwordToCheck', $user->password))
{
    // Success
}

使用门面
$user = User::find($id);
if (Hash::check('passwordToCheck', $user->password))
{
    // Success
}

不感兴趣的使用通用php函数password_verify也可以工作。不过,这是因为它使用的默认散列算法是bcrypt。
if (password_verify('passwordToCheck', $user->password))
{
    // Success
}

post url

10-04 22:12
查看更多