我是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验证它时,我得到无效的盐版本
答案 0 :(得分:1)
你的问题是PHP库使用了新的" 2y"字首。
它被用于这个和其他一些库,因为原始代码," 2a"前缀,有一个错误,需要区分旧的和新的,安全的代码。
所以只需用2a替换2y。