在学习密码哈希并保存在数据库中时,我发现了这篇文章:https ://crackstation.net/hashing-security.htm#phpsourcecode
一切都很清楚,除了这个我不明白为什么不使用正常相等的函数?这意味着什么:在长度恒定的时间内比较两个字符串 $a 和 $b。
// Compares two strings $a and $b in length-constant time.
function slow_equals($a, $b)
{
$diff = strlen($a) ^ strlen($b);
for($i = 0; $i < strlen($a) && $i < strlen($b); $i++)
{
$diff |= ord($a[$i]) ^ ord($b[$i]);
}
return $diff === 0;
}