通过 password_hash() 保存的密码散列可靠吗?

password_hash()

    public function hashPassword(string $password)
    {
        return password_hash($password, PASSWORD_DEFAULT);
    }

把用户设置的密码用 password_hash() 哈希后保存到数据库。
为什么明明输入的密码不正确,但还是通过了。

是算法设置的问题还是这个函数本身就有问题???

环境是 php7.4.24

阅读 1.6k
1 个回答

默认是 bcrypt,绝对是比 MD5、SHA-1 等一票哈希算法可靠。这个可靠是体现在不容易算彩虹表上(因为它的特点就是慢)。

而你说的“明明输入的密码不正确,但还是通过了”,这可跟哈希算法无关。你贴的代码里也并没有体现这方面的业务逻辑,无从判断。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题