如何验证使用 php 的 password_hash() 函数散列的两个散列密码

How to verify two hashed password that were hashed with php's password_hash() function

有什么方法可以 取消哈希 密码,或者至少检查两个哈希值(用 password_hash() 哈希)是否给出相同的值?

因为我有一个包含散列密码的令牌页面和一个也包含散列密码的用户 table,我想检查密码是否相同,但问题是 password_hash() 即使密码相同也不总是给出相同的值 password_verify() 需要一个值才能是普通文本,那么如何验证令牌密码和用户密码是否相同?

你不能,句号。这就是 password_hash 及其 随机盐 的全部要点:如果您有两个哈希值,您不知道它们是否用于相同的密码。这可以防止 brute-forcing 攻击者使用整个哈希数据库,因为攻击者无法通过匹配其他哈希来摊销 brute-force 投入一个哈希的时间。