我习惯了哈希算法总是返回相同的哈希值。
为什么phpass库总是返回不同的哈希值?这和静脉注射有关吗?(我从来没有完全理解过这个概念)
<?php
require __DIR__ . '/PasswordHash.php';
$hasher = new PasswordHash(11,false);
$password = 'bla123';
echo $hash = $hasher->hashPassword($password); // different for each request
根据这一节"如果用户已经存在怎么办?"这是这个库的正常行为
它使用crypt(),它已经为同一个字符串生成了不同的哈希值。它使用不同的密钥对每个密码进行散列,并将密钥存储在散列中(这是公开的)。