bcrypt 返回错误的计算

bcrypt returning wrong calulation

我是 bcrypt 新手,这是我的测试代码 returns 散列密码

if (!$errName && !$errEmail && !$errPassword) {
require "libs/password.php";

        $hash = password_hash($password, PASSWORD_BCRYPT); //password_compat function
if (password_verify($password, $hash)) {
  $result = "$name\n$hash\n$email";
} else {

    echo "didnt work";
}}

当我在 https://www.dailycred.com/blog/12/bcrypt-calculator 验证它时,它与示例密码“1234”不匹配 returns $2y$10$Wz/1MRBMFauEtGdJNeaKq.5INBmig0Nip2urekRON8ekLkYesdj6i 当我通过 dailycred 验证它时,我得到 Invalid salt revision

您的问题是 PHP 库使用了新的“2y”前缀。

它被用在这个库和其他一些库中,因为带有“2a”前缀的原始代码有一个错误,需要区分新旧代码、安全代码。

所以只需将 2y 替换为 2a 即可。