bcrypt返回错误的计算

时间:2015-03-16 18:10:07

标签: php bcrypt

我是bcrypt的新手,这是我的测试代码,它返回哈希密码

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'返回$ 2y $ 10 $ Wz / 1MRBMFauEtGdJNeaKq.5INBmig0Nip2urekRON8ekLkYesdj6i 当我通过dailycred验证它时,我得到无效的盐版本

1 个答案:

答案 0 :(得分:1)

你的问题是PHP库使用了新的" 2y"字首。

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

所以只需用2a替换2y。