nonebot2/packages/nonebot-adapter-ding/nonebot/adapters/ding/utils.py
2021-03-20 14:49:58 +08:00

18 lines
499 B
Python

import hmac
import base64
import hashlib
from nonebot.utils import logger_wrapper
log = logger_wrapper("DING")
def calc_hmac_base64(timestamp: str, secret: str):
secret_enc = secret.encode('utf-8')
string_to_sign = '{}\n{}'.format(timestamp, secret)
string_to_sign_enc = string_to_sign.encode('utf-8')
hmac_code = hmac.new(secret_enc,
string_to_sign_enc,
digestmod=hashlib.sha256).digest()
return base64.b64encode(hmac_code)