24 lines
545 B
Python
24 lines
545 B
Python
import hashlib
|
|
|
|
from settings import settings
|
|
|
|
__all__ = 'restore_field', 'sort_kv', 'check_sign'
|
|
|
|
|
|
def restore_field(data: dict) -> dict:
|
|
res = dict()
|
|
for k, v in data.items():
|
|
res[settings.FIELD_MAP.get(k) or k] = v
|
|
return res
|
|
|
|
|
|
def sort_kv(*args: dict):
|
|
return ''.join(map(lambda item: ''.join(map(lambda x: f'{x[0]}{x[1]}', item.items())), args))
|
|
|
|
|
|
def check_sign(sign: str, *args: dict):
|
|
s = sort_kv(*args) + settings.SALT
|
|
if hashlib.md5(s.encode()).hexdigest() != sign:
|
|
return False
|
|
return True
|