openstack team mailing list archive
-
openstack team
-
Mailing list archive
-
Message #16686
make swift.common.utils.streq_const_time more efficient
def streq_const_time(s1, s2):
if len(s1) != len(s2):
return False
result = 0
for (a, b) in zip(s1, s2):
result |= ord(a) ^ ord(b)
return result == 0
+++++++++++++++++++++++++++++++++++++++++
If s1 and s2 are of the same length, then the function will compare every
characters in them. I think it may be more efficient as follow:
def streq_const_time(s1, s2):
if len(s1) != len(s2):
return False
result = 0
for (a, b) in zip(s1, s2):
if ord(a) ^ ord(b):
return False
return True
Follow ups