Kaydet (Commit) e89bc399 authored tarafından Aymeric Augustin's avatar Aymeric Augustin

Reverted type check added in 62954ba0.

Refs #17040.
üst 831f2846
......@@ -82,16 +82,14 @@ def get_random_string(length=12,
def constant_time_compare(val1, val2):
"""
Returns True if the two bytestrings are equal, False otherwise.
Returns True if the two strings are equal, False otherwise.
The time taken is independent of the number of characters that match.
"""
if not (isinstance(val1, bytes) and isinstance(val2, bytes)):
raise TypeError("constant_time_compare only supports bytes")
if len(val1) != len(val2):
return False
result = 0
if six.PY3:
if six.PY3 and isinstance(val1, bytes) and isinstance(val2, bytes):
for x, y in zip(val1, val2):
result |= x ^ y
else:
......
......@@ -15,8 +15,8 @@ class TestUtilsCryptoMisc(unittest.TestCase):
# It's hard to test for constant time, just test the result.
self.assertTrue(constant_time_compare(b'spam', b'spam'))
self.assertFalse(constant_time_compare(b'spam', b'eggs'))
with self.assertRaises(TypeError):
constant_time_compare('spam', 'spam')
self.assertTrue(constant_time_compare('spam', 'spam'))
self.assertFalse(constant_time_compare('spam', 'eggs'))
class TestUtilsCryptoPBKDF2(unittest.TestCase):
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment