ParagonIE_Sodium_Core_Util::hashEquals() public WP 1.0
Evaluate whether or not two strings are equal (in constant-time)
{} It's a method of the class: ParagonIE_Sodium_Core_Util{}
No Hooks.
Return
true|false
. Null. Nothing.
Usage
$result = ParagonIE_Sodium_Core_Util::hashEquals( $left, $right );
- $left(string) (required)
- -
- $right(string) (required)
- -
Code of ParagonIE_Sodium_Core_Util::hashEquals() ParagonIE Sodium Core Util::hashEquals WP 5.7
public static function hashEquals($left, $right)
{
/* Type checks: */
if (!is_string($left)) {
throw new TypeError('Argument 1 must be a string, ' . gettype($left) . ' given.');
}
if (!is_string($right)) {
throw new TypeError('Argument 2 must be a string, ' . gettype($right) . ' given.');
}
if (is_callable('hash_equals')) {
return hash_equals($left, $right);
}
$d = 0;
/** @var int $len */
$len = self::strlen($left);
if ($len !== self::strlen($right)) {
return false;
}
for ($i = 0; $i < $len; ++$i) {
$d |= self::chrToInt($left[$i]) ^ self::chrToInt($right[$i]);
}
if ($d !== 0) {
return false;
}
return $left === $right;
}