微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Python API Post HMAC - 有效负载不匹配签名请求

如何解决Python API Post HMAC - 有效负载不匹配签名请求

抱歉,我是新手,这里的所有东西我都试过了。

文档说明加密算法需要 2 个参数:签名密钥和输入字符串。

在 GET 调用中,哈希签名在标头中传递,输入字符串为空。这工作得很好,但我在消息下的输入字符串中输入的任何内容都不起作用。当消息中出现其他内容时,我可以看出 HMAC 正在发生变化,但似乎不匹配。

目前代码有空引号,但我尝试填充它。

import requests
import hmac
import base64

import hashlib

cert_file_path = "cert.pem"
key_file_path = "server.key"
data = "test.xml"

url = "https://API_Endpoint"

cert = (cert_file_path,key_file_path)
message = bytes('','utf-8')
secret = bytes('********************','utf-8')
auth = hmac.new(secret,message,digestmod=hashlib.sha256).digest()
signature = base64.b64encode(auth).decode()

headers = {"mac": signature,"content-type": "application/x-www-form-urlencoded; charset=UTF-8"}

print(signature)

r = requests.post(url,cert=cert,headers=headers,data=data)

print(r.content)

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。