密码历史以防止用户一次又一次地保留相同的密码
Password history to prevent user to keep same passwords again and again
我正在 PHP Laravel 开发应用程序。它使用 bcrypt 加密来存储密码。每当用户更改密码时,我都想保留哈希的历史记录。通过这样做,我想阻止用户在某些情况下输入以前的密码。保留哈希历史是否安全?
我正在使用内置函数。我对这种加密了解不多。根据我的观察,如果用户更改了他的密码并保持与以前的密码相同,则哈希值会不同。我怎样才能阻止他保留以前历史记录中的相同密码?使用 bcrypt 加密时可以吗?
是的,那是完全安全的。您可以使用 Hash::check()
将新密码与旧密码进行比较。例如像这样($hashes
是一个旧哈希数组)
$newPassword = 'secret';
foreach($hashes as $hash){
if(Hash::check($newPassword, $hash)){
exit('Sorry can\'t use the same password twice');
}
}
有一个名为 laravel-password-history
的 laravel 软件包
您可以安装并享受它。
它为您提供事件侦听器、迁移、验证规则等。它还可以配置为检查历史记录中的某个深度。
我正在 PHP Laravel 开发应用程序。它使用 bcrypt 加密来存储密码。每当用户更改密码时,我都想保留哈希的历史记录。通过这样做,我想阻止用户在某些情况下输入以前的密码。保留哈希历史是否安全?
我正在使用内置函数。我对这种加密了解不多。根据我的观察,如果用户更改了他的密码并保持与以前的密码相同,则哈希值会不同。我怎样才能阻止他保留以前历史记录中的相同密码?使用 bcrypt 加密时可以吗?
是的,那是完全安全的。您可以使用 Hash::check()
将新密码与旧密码进行比较。例如像这样($hashes
是一个旧哈希数组)
$newPassword = 'secret';
foreach($hashes as $hash){
if(Hash::check($newPassword, $hash)){
exit('Sorry can\'t use the same password twice');
}
}
有一个名为 laravel-password-history
的 laravel 软件包您可以安装并享受它。 它为您提供事件侦听器、迁移、验证规则等。它还可以配置为检查历史记录中的某个深度。