参考文档:
import hashlib
from loguru import logger
"""
签名生成规则如下:
参与签名的字段包括有效的access_key和access_secret。(随机生成uuid.uuid(4),生成access_key和access_secret)
对所有待签名参数按照字段名的 ASCII 码从小到大排序(字典序)后,使用 URL 键值对的格式(即key1=value1&key2=value2…)拼接成字符串 string1。这里需要注意的是所有参数名均为小写字符。
接下来对 string1 作 sha1 加密,字段名和字段值都采用原始值。即 signature=sha1(string1)。
"""
def generate_signature(access_key, access_secret):
"""
生成签名
:param access_key: key
:param access_secret: 密钥
:return: 签名
"""
origin_str = f"access_key={access_key}&access_secret={access_secret}"
sha = hashlib.sha1()
sha.update(origin_str.encode('utf-8'))
encrypts = sha.hexdigest()
return encrypts
if __name__ == "__main__":
access_key = "**********"
access_secret = "**********"
signature_res = generate_signature(access_key, access_secret)
logger.info(f"signature_res = {signature_res}")
该博客介绍了微信JS接口签名校验的实现过程。首先,按照规则将access_key和access_secret进行组合,并对组合后的字符串进行SHA1加密,然后返回加密后的十六进制签名。该方法可用于确保微信JS接口调用的安全性。
1万+

被折叠的 条评论
为什么被折叠?



