php password_hash刷新时更改

时间:2015-12-25 16:56:52

标签: php php-password-hash

我正在尝试使用密码输入构建表单。 我试图通过php password_hash哈希密码并将其保存在数据库中。 当用户登录时,我将对其输入进行哈希并检查它是否与数据库中的相同。

问题是,当我使用password_hash时,每次刷新时它都会给我一个随机输出。输入仍然相同。这使得用户无法登录,因为outputhash永远不会匹配数据库中的什么。

我正在测试它:

$pw = "hello";
echo password_hash ($pw, PASSWORD_DEFAULT);

the first echo = $2y$10$7GwPLFNIhybl6tcyuYsH..Dtgfn2hF7RUDwZ99o7BkL6eza4Dsope;
echo again = $2y$10$7tvaZHupw8Ik8Id/ImHCHekpp/Deg4E.XkG82zaVYx262Exv3zMde;

我做错了吗?请帮忙

1 个答案:

答案 0 :(得分:2)

是。你做错了什么。

hash 预计会在每次请求时更改。这就是目的。

您需要做的是根据该哈希验证密码。

if(password_verify($password, $hash)){
    //correct
}

请勿尝试比较每个页面加载的哈希值。