hash_equals将字符串散列与`sha512`进行比较吗?

时间:2016-02-22 13:56:59

标签: php bcrypt sha512

我需要在数据库中存储令牌,并将用户提供的令牌与数据库令牌相匹配,以便我使用sha512的哈希令牌。我将这两个令牌与简单的==运算符进行比较。

if($usertoken == $dbtoken) {

}

但是有人建议我使用hash_equals(),因为它会阻止时间攻击(额外的安全性),bcrypt用于哈希令牌。所以我只想知道hash_equals是否将字符串哈希值与sha512进行比较,或者我必须使用bcrypt?

1 个答案:

答案 0 :(得分:2)

尽管有这个名字,但这个函数还有哈希无所事事

它比较了两个字符串的相等性,仅此而已。您可以为它提供两个包含任意字符序列的字符串,无论它们是使用您选择的算法代表纯文本密码还是密码,无论是bcrypt还是sha512

相关问题