代码之家  ›  专栏  ›  技术社区  ›  satoru

这个“时间独立等于”是什么意思?

  •  9
  • satoru  · 技术社区  · 15 年前

    tornado .web模块有一个函数 _time_independent_equals :

    def _time_independent_equals(a, b):
        if len(a) != len(b):
            return False
        result = 0
        for x, y in zip(a, b):
            result |= ord(x) ^ ord(y)
        return result == 0
    

    但是关于这个功能的实现,这只是一个复杂的说法吗 a==b ?

    1 回复  |  直到 15 年前
        1
  •  18
  •   Daniel Newby    14 年前

    该函数并不简单地比较字符串,它总是尝试用相同的时间来执行。