我可以检查散列密码是否等于 laravel 中的特定值吗?
Can i check if a hashed password is equal to a specific value in laravel?
在我的应用程序中,我为我创建的所有用户设置了默认密码(例如 1234),当用户首次登录时,他将被要求更改该密码
我的目标是当用户登录时我想检查他的密码是否等于默认值 (1234) 如果是这样我将他重定向到重置页面如果不是我什么都不做
所以我的问题是
如何检查该用户的密码是否等于我拥有的值?
我在 Whosebug 上找到了一个对我帮助很大的答案
您可以通过多种方式使用它:
容器外
$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
}
在我的应用程序中,我为我创建的所有用户设置了默认密码(例如 1234),当用户首次登录时,他将被要求更改该密码
我的目标是当用户登录时我想检查他的密码是否等于默认值 (1234) 如果是这样我将他重定向到重置页面如果不是我什么都不做
所以我的问题是 如何检查该用户的密码是否等于我拥有的值?
我在 Whosebug 上找到了一个对我帮助很大的答案 您可以通过多种方式使用它:
容器外
$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
}