1
0
mirror of https://github.com/Yubico/yubikey-val.git synced 2025-03-04 03:29:18 +01:00

Prettify hash_equals.

This commit is contained in:
Jean Paul Galea 2015-07-16 22:19:47 +02:00
parent 0d03c2be29
commit 6c0b62f77e

View File

@ -270,17 +270,21 @@ function sendResp($status, $logger, $apiKey = '', $extra = null) {
echo $str; echo $str;
} }
// hash_equals is introduced in PHP 5.6 // backport from PHP 5.6
if(!function_exists('hash_equals')) { if (function_exists('hash_equals') === FALSE)
function hash_equals($a, $b) { {
if(strlen($a) != strlen($b)) { //Hashes are a (known) fixed length, so this doesn't leak anything. function hash_equals($a, $b)
{
// hashes are a (known) fixed length,
// so this doesn't leak anything.
if (strlen($a) != strlen($b))
return false; return false;
}
$result = 0; $result = 0;
for ($i = 0; $i < strlen($a); $i++) {
for ($i = 0; $i < strlen($a); $i++)
$result |= ord($a[$i]) ^ ord($b[$i]); $result |= ord($a[$i]) ^ ord($b[$i]);
}
return 0 === $result; return (0 === $result);
} }
} }