PHPGangsta_GoogleAuthenticator::timingSafeEquals PHP Method

timingSafeEquals() private method

A timing safe equals comparison more info here: http://blog.ircmaxell.com/2014/11/its-all-about-time.html.
private timingSafeEquals ( string $safeString, string $userString ) : boolean
$safeString string The internal (safe) value to be checked
$userString string The user submitted (unsafe) value
return boolean True if the two strings are identical
    private function timingSafeEquals($safeString, $userString)
    {
        if (function_exists('hash_equals')) {
            return hash_equals($safeString, $userString);
        }
        $safeLen = strlen($safeString);
        $userLen = strlen($userString);
        if ($userLen != $safeLen) {
            return false;
        }
        $result = 0;
        for ($i = 0; $i < $userLen; ++$i) {
            $result |= ord($safeString[$i]) ^ ord($userString[$i]);
        }
        // They are only identical strings if $result is exactly 0...
        return $result === 0;
    }