tornado .web模块有一个函数 _time_independent_equals :
_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 ?
a==b
该函数并不简单地比较字符串,它总是尝试用相同的时间来执行。