htpasswd我必须使用 PHP (v7.4.3)验证 apache 工具 (v2.4.41) 创建的 bcrypt-hashes password_verify。但是如果我生成一个哈希值:$ htpasswd -nbB test passtest:$2y$05$m73wHlBS62EUh7uAxbUCJ.gHIfcEgiorl/1LrzNRAlSSH4bmrBUEy...然后尝试在 PHP 中验证它...cat << EOF | php -aif (password_verify('pass', '$2y$05$m73wHlBS62EUh7uAxbUCJ.gHIfcEgiorl/1LrzNRAlSSH4bmrBUEy')) { echo 'match';} else { echo 'mismatch';}EOF...mismatch被打印。然而 PHP 可以验证它自己的 bcrypt 哈希值......cat << EOF | php -aif (password_verify('test', password_hash('test', PASSWORD_BCRYPT))) { echo 'match';} else { echo 'mismatch';}EOF...这个打印match。如何验证password_verify外部生成的 bcrypt 哈希值?
1 回答
隔江千里
TA贡献1906条经验 获得超10个赞
问题是,在我的实际代码中,由于对文件中的哈希值的解析不正确,哈希末尾存在额外的空格.htpasswd
。
OP中的“简化”示例引入了另一个不同的问题(由于在命令行上的散列中转义了特殊字符)并因此失败。
- 1 回答
- 0 关注
- 64 浏览
添加回答
举报
0/150
提交
取消