mirror of
https://github.com/morpheus65535/bazarr
synced 2024-12-28 18:48:26 +00:00
24 lines
533 B
Python
24 lines
533 B
Python
|
import json
|
||
|
import base64
|
||
|
import hmac
|
||
|
from Crypto.Cipher import AES
|
||
|
|
||
|
def _strcmp(a, b):
|
||
|
"""Compares two strings while preventing timing attacks. Execution time
|
||
|
is not affected by lenghth of common prefix on strings of the same length"""
|
||
|
return not sum(0 if x==y else 1 for x, y in zip(a, b)) and len(a) == len(b)
|
||
|
|
||
|
class SecureSession(object):
|
||
|
|
||
|
def __init__(self):
|
||
|
|
||
|
json()
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
base64.b64encode(hmac.new(tob(key), msg).digest())):
|
||
|
return pickle.loads(base64.b64decode(msg))
|