gpt4 book ai didi

php - password_verify() 在 php 中不起作用

转载 作者:行者123 更新时间:2023-11-28 23:20:22 31 4
gpt4 key购买 nike

我已经使用 password_hash 创建了一个密码,如下所示:

$password = password_hash('password123', PASSWORD_DEFAULT);

这存储在 MySQL 数据库中的 varchar(60) 列中。

在我的登录表单中,我使用:

if(password_verify($password, $foundUser->Password){
/*login*/
}

哪里$password是登录表单的明文输入,$foundUser->Password是存储在数据库中的散列,但是 password_verify()函数总是返回 false。

我已经使用以下代码检查了我的输入:

echo "Password: {$password} <br>";
echo "Found password: ".$foundUser->Password."<br>";

哪些输出:

Password: password123
Found password: $2y$10$8.ICQHCyCPzS.xygPO4cfuHsHZb6Kuxynn8/uUHOU1.7gY.UhSIXa

所以我有理由相信我正在输入正确的密码并从我的数据库中获取正确的哈希值。

我查看了 this question 中的链接寻求答案,但还没有让它发挥作用。有谁知道为什么 password_verify() 返回 false?

最佳答案

设置数据库列值大于 60,因为加密的密码字符可能超过 100 个。并且 $password = password_hash('password123', PASSWORD_DEFAULT);此函数返回每次都可能更改的加密密码。

关于php - password_verify() 在 php 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41978868/

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