B
Size: a a a
B
Т
F
ЕП
F
import collections
import datetime
import hashlib
import hmac
def check_string(d, token):
secret = hashlib.sha256()
secret.update(token.encode('utf-8'))
sorted_params = collections.OrderedDict(sorted(d.items()))
param_hash = sorted_params.pop('hash')
msg = "\n".join(["{}={}".format(k, v) for k, v in sorted_params.items()])
if param_hash == hmac.new(secret.digest(), msg.encode('utf-8'), digestmod=hashlib.sha256).hexdigest():
if (int(datetime.datetime.now().timestamp()) - int(d.get('auth_date'))) <= 86400:
return True, ''
else:
return False, 'Outdated data'
else:
return False, 'Wrong hash'
G
B
import collections
import datetime
import hashlib
import hmac
def check_string(d, token):
secret = hashlib.sha256()
secret.update(token.encode('utf-8'))
sorted_params = collections.OrderedDict(sorted(d.items()))
param_hash = sorted_params.pop('hash')
msg = "\n".join(["{}={}".format(k, v) for k, v in sorted_params.items()])
if param_hash == hmac.new(secret.digest(), msg.encode('utf-8'), digestmod=hashlib.sha256).hexdigest():
if (int(datetime.datetime.now().timestamp()) - int(d.get('auth_date'))) <= 86400:
return True, ''
else:
return False, 'Outdated data'
else:
return False, 'Wrong hash'
F
ЕП
import collections
import datetime
import hashlib
import hmac
def check_string(d, token):
secret = hashlib.sha256()
secret.update(token.encode('utf-8'))
sorted_params = collections.OrderedDict(sorted(d.items()))
param_hash = sorted_params.pop('hash')
msg = "\n".join(["{}={}".format(k, v) for k, v in sorted_params.items()])
if param_hash == hmac.new(secret.digest(), msg.encode('utf-8'), digestmod=hashlib.sha256).hexdigest():
if (int(datetime.datetime.now().timestamp()) - int(d.get('auth_date'))) <= 86400:
return True, ''
else:
return False, 'Outdated data'
else:
return False, 'Wrong hash'
F
AR
G
ЕП
F
G
S|
L
S|
L