gpt4 book ai didi

php - 验证失败,即使密码正确,使用 bcrypt 哈希方法

转载 作者:行者123 更新时间:2023-11-29 14:08:24 24 4
gpt4 key购买 nike

我在使用bcrypt哈希方法和mysql时遇到问题。我正在使用 this answer 中的 Bcrypt 类.

我正在创建登录脚本并检查密码是否为正确的。我正在比较输入的密码和散列的密码来自数据库的密码。

$username= $_POST['username']; //username from input
$pass= $_POST['pass']; //username from input

$query= mysql_query("SELECT pass FROM users WHERE username='$username'");
$row= mysql_fetch_row($query);

$row[0];// hashed password, I echo $row[0] and it shows correct hashed password

$bcrypt = new Bcrypt(15);
$isGood = $bcrypt->verify($pass, $row[0]);

if ($isGood){
echo "Authentication succeeded";
}
else {
echo"Authentication failed";
}

即使 $pass 是正确的,我总是得到“身份验证失败”。有什么想法,可能有什么问题吗?

提前谢谢您。

最佳答案

users 表中的 pass 列不够宽,无法存储完整的哈希值;它的宽度至少应为 60 个字符,即 VARCHAR(60)

顺便说一句,你应该看看 PasswordLib也由 ircmaxell 编写和维护,它也很好地支持 Bcrypt。

关于php - 验证失败,即使密码正确,使用 bcrypt 哈希方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13953381/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com