Hash_password每次都使用不同的密码

时间:2018-07-17 14:57:33

标签: php password-encryption

实际上我的问题是hash_password每次用相同的单词进行不同的哈希,我不知道如何用数据库检查我的输入密码 我的数据库中有一个哈希密码,我试图用相同的算法来哈希我的输入,但是我得到了一个不同的值

$pass = password_hash($_post["pass"] , ARGON2I);
       If($pass === $admin["Pass"]){
              echo "success";
       else
               echo "failed";

1 个答案:

答案 0 :(得分:2)

假设语言是PHP:

password_hash即使对于相同的密码,每次也会创建唯一的哈希,这是因为每次都使用随机的盐。盐包含在password_hash的结果中。

要验证哈希密码,请使用password_verify,它使用与哈希一起保存的盐来比较并返回匹配项。

进行唯一哈希处理的原因是,具有相同密码的两个用户不会哈希到相同的值,因此知道一个用户不允许从匹配的哈希中知道其他用户的密码。

请参阅链接的文档。