28 if (!function_exists(
'hash_equals')) {
29 function hash_equals($knownString, $userString)
31 if (function_exists(
'mb_strlen')) {
32 $kLen = mb_strlen($knownString,
'8bit');
33 $uLen = mb_strlen($userString,
'8bit');
35 $kLen = strlen($knownString);
36 $uLen = strlen($userString);
38 if ($kLen !== $uLen) {
42 for ($i = 0; $i < $kLen; $i++) {
43 $result |= (ord($knownString[$i]) ^ ord($userString[$i]));