我应该如何检查散列密码
How should i check hashed passwords
我使用 crypt ( password , $2y$10$predefinedsalt) 来生成散列..是否可以使用普通的 if 将它们与其他散列进行检查?
$password = crypt ( password , y$predefinedsalt);
$password2 -> from database)
if(password == password2)
{
then do something
}
是的,这就是密码验证的大致方式。
您存储经过哈希处理的原始密码,并在登录时使用相同的 options/hash 对输入的密码进行哈希处理,并将其与您之前存储的密码进行比较
PHP 建议使用 hash_equals()
来缓解定时攻击。像这样:
return hash_equals($hash, crypt($password, $salt));
我使用 crypt ( password , $2y$10$predefinedsalt) 来生成散列..是否可以使用普通的 if 将它们与其他散列进行检查?
$password = crypt ( password , y$predefinedsalt);
$password2 -> from database)
if(password == password2)
{
then do something
}
是的,这就是密码验证的大致方式。
您存储经过哈希处理的原始密码,并在登录时使用相同的 options/hash 对输入的密码进行哈希处理,并将其与您之前存储的密码进行比较
PHP 建议使用 hash_equals()
来缓解定时攻击。像这样:
return hash_equals($hash, crypt($password, $salt));