src/thinkextend/Crypt.php
protected static function compareString($known, $input)
    {
        // 强制转换为字符串类型
        $known = (string) $known;
        $input = (string) $input;
        if (function_exists('hash_equals')) {
            return hash_equals($known, $input);
        }
        // 字符串长度不相等可直接返回
        $length = strlen($known);
        if ($length !== strlen($input)) {
            return false;
        }
        // 逐位比较字符串
        // 遇到字符不一致, 并不是直接返回, 这样就无法猜解字符串在哪里出错
        $result = 0;
        for ($i = 0; $i < $length; $i++) {
            $result |= (ord($known[$i]) ^ ord($input[$i]));
        }
        return $result === 0;
    }
protected static function compareString($known, $input)
    {
        // 强制转换为字符串类型
        $known = (string) $known;
        $input = (string) $input;
        if (function_exists('hash_equals')) {
            return hash_equals($known, $input);
        }
        // 字符串长度不相等可直接返回
        $length = strlen($known);
        if ($length !== strlen($input)) {
            return false;
        }
        // 逐位比较字符串
        // 遇到字符不一致, 并不是直接返回, 这样就无法猜解字符串在哪里出错
        $result = 0;
        for ($i = 0; $i < $length; $i++) {
            $result |= (ord($known[$i]) ^ ord($input[$i]));
        }
        return $result === 0;
    }
比较字符串是否相等

@param string $known 参考字符串
@param string $input 待测试字符串

@return boolean