security.py 458 B

12345678910111213141516171819
  1. import hashlib
  2. import hmac
  3. import secrets
  4. def generate_gateway_session_id():
  5. return 'GWS_' + secrets.token_urlsafe(32)
  6. def hash_gateway_session_id(session_id):
  7. value = str(session_id or '').strip()
  8. if not value:
  9. raise ValueError('gateway_session_id is required')
  10. return hashlib.sha256(value.encode('utf-8')).hexdigest()
  11. def constant_time_equals(left, right):
  12. return hmac.compare_digest(str(left or ''), str(right or ''))