password_hash()
public function hashPassword(string $password)
{
return password_hash($password, PASSWORD_DEFAULT);
}
把用户设置的密码用 password_hash() 哈希后保存到数据库。
为什么明明输入的密码不正确,但还是通过了。
是算法设置的问题还是这个函数本身就有问题???
环境是 php7.4.24
password_hash()
public function hashPassword(string $password)
{
return password_hash($password, PASSWORD_DEFAULT);
}
把用户设置的密码用 password_hash() 哈希后保存到数据库。
为什么明明输入的密码不正确,但还是通过了。
是算法设置的问题还是这个函数本身就有问题???
环境是 php7.4.24
5 回答3.3k 阅读✓ 已解决
1 回答4.1k 阅读✓ 已解决
3 回答1.9k 阅读✓ 已解决
2 回答2.3k 阅读✓ 已解决
2 回答2.8k 阅读✓ 已解决
1 回答2.4k 阅读✓ 已解决
1 回答3k 阅读✓ 已解决
默认是 bcrypt,绝对是比 MD5、SHA-1 等一票哈希算法可靠。这个可靠是体现在不容易算彩虹表上(因为它的特点就是慢)。
而你说的“明明输入的密码不正确,但还是通过了”,这可跟哈希算法无关。你贴的代码里也并没有体现这方面的业务逻辑,无从判断。