Commit e89bc399 authored by Aymeric Augustin's avatar Aymeric Augustin
Browse files

Reverted type check added in 62954ba0.

Refs #17040.
parent 831f2846
Loading
Loading
Loading
Loading
+2 −4
Original line number Diff line number Diff line
@@ -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:
+2 −2
Original line number Diff line number Diff line
@@ -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):