为什么phpass为相同的输入字符串返回不同的哈希值?

时间:2011-10-20 13:18:42

标签: php security hash phpass initialization-vector

我习惯了哈希算法总是返回相同的哈希值。

为什么phpass库总是返回不同的哈希值?

它与IV有关吗? (我从未完全理解这个概念)

<?php

require __DIR__ . '/PasswordHash.php';

$hasher = new PasswordHash(11,false);

$password = 'bla123';

echo $hash = $hasher->hashPassword($password); // different for each request

2 个答案:

答案 0 :(得分:0)

根据this部分“如果用户已存在该怎么办?”这是这个库的正常行为

答案 1 :(得分:0)

它使用crypt(),它已经为同一个字符串生成不同的哈希值。它使用不同的密钥对每个密码进行哈希处理,并将密钥存储在哈希中(它是公共的)。