add python 3 support to signature check (#25296)
This commit is contained in:
parent
46485931a3
commit
e4db0f38d3
|
@ -5,6 +5,7 @@ import hashlib
|
|||
import urllib
|
||||
import random
|
||||
|
||||
from django.utils import six
|
||||
from django.utils.encoding import smart_bytes
|
||||
from django.utils.http import quote, urlencode
|
||||
from django.utils.six.moves.urllib import parse as urlparse
|
||||
|
@ -69,6 +70,10 @@ def check_string(s, signature, key, algo='sha256'):
|
|||
if len(signature2) != len(signature):
|
||||
return False
|
||||
res = 0
|
||||
for a, b in zip(signature, signature2):
|
||||
res |= ord(a) ^ ord(b)
|
||||
if six.PY3:
|
||||
for a, b in zip(signature, signature2):
|
||||
res |= a ^ b
|
||||
else:
|
||||
for a, b in zip(signature, signature2):
|
||||
res |= ord(a) ^ ord(b)
|
||||
return res == 0
|
||||
|
|
Loading…
Reference in New Issue