mirror of
https://github.com/bvanroll/cicdTest.git
synced 2025-08-29 20:12:43 +00:00
build test
This commit is contained in:
46
venv/lib/python3.7/site-packages/itsdangerous/_compat.py
Normal file
46
venv/lib/python3.7/site-packages/itsdangerous/_compat.py
Normal file
@@ -0,0 +1,46 @@
|
||||
import decimal
|
||||
import hmac
|
||||
import numbers
|
||||
import sys
|
||||
|
||||
PY2 = sys.version_info[0] == 2
|
||||
|
||||
if PY2:
|
||||
from itertools import izip
|
||||
|
||||
text_type = unicode # noqa: 821
|
||||
else:
|
||||
izip = zip
|
||||
text_type = str
|
||||
|
||||
number_types = (numbers.Real, decimal.Decimal)
|
||||
|
||||
|
||||
def _constant_time_compare(val1, val2):
|
||||
"""Return ``True`` if the two strings are equal, ``False``
|
||||
otherwise.
|
||||
|
||||
The time taken is independent of the number of characters that
|
||||
match. Do not use this function for anything else than comparision
|
||||
with known length targets.
|
||||
|
||||
This is should be implemented in C in order to get it completely
|
||||
right.
|
||||
|
||||
This is an alias of :func:`hmac.compare_digest` on Python>=2.7,3.3.
|
||||
"""
|
||||
len_eq = len(val1) == len(val2)
|
||||
if len_eq:
|
||||
result = 0
|
||||
left = val1
|
||||
else:
|
||||
result = 1
|
||||
left = val2
|
||||
for x, y in izip(bytearray(left), bytearray(val2)):
|
||||
result |= x ^ y
|
||||
return result == 0
|
||||
|
||||
|
||||
# Starting with 2.7/3.3 the standard library has a c-implementation for
|
||||
# constant time string compares.
|
||||
constant_time_compare = getattr(hmac, "compare_digest", _constant_time_compare)
|
Reference in New Issue
Block a user