|
|
- import hmac
- import json
- from base64 import b64encode, urlsafe_b64encode
- from hashlib import sha256
-
-
- def sha256_base64(payload):
- out = payload.encode('utf-8')
- out = sha256(out).digest()
- out = b64encode(out)
- return out.decode('utf-8')
-
-
- def hmac_sha256(key, message):
- hm = hmac.new(key.encode('utf-8'), digestmod=sha256)
- hm.update(message.encode('utf-8'))
- digest = hm.digest()
- return urlsafe_b64encode(digest).decode('utf-8').replace('=', '')
-
-
- class RequestFailure(Exception):
- def __init__(self, message, ans, error_code=None):
- super().__init__(message)
- self.ans = ans
- self.error_code = error_code
|