钉钉机器人加签
2020-03-15 本文已影响0人
宝宝大仙
钉钉自定义机器人加签
钉钉自定义机器人安全设置为加签模式,把timestamp+"\n"+密钥当做签名字符串,使用HmacSHA256算法计算签名,然后进行Base64 encode,最后再把签名参数再进行urlEncode,得到最终的签名(需要使用UTF-8字符集)。
python3.7版本示例
import base64
import hashlib
import hmac
import time
import urllib.request
##钉钉sha256签名
timestamp = round(time.time() * 1000)
secret = 'this is secret'
secret_enc = bytes(secret,encoding='UTF-8')
string_to_sign = '{}\n{}'.format(timestamp, secret)
string_to_sign_enc = bytes(string_to_sign,encoding='utf-8')
hmac_code = hmac.new(secret_enc, string_to_sign_enc, digestmod=hashlib.sha256).digest()
sign = urllib.request.quote(base64.b64encode(hmac_code))
print(timestamp)
print(sign)