1

我正在以这种方式计算 HTTP 正文请求的 HMAC:

payload = {"name":"myvm","os":"gentoo","resources":{"vCPU":"4","RAM":"512","Disk":"1000"},"actions":["start"]}

key = "supersecretkey"
secret = bytes(key, encoding='utf-8')

msg = json.dumps(payload, sort_keys=True)
message = bytes(msg, encoding='utf-8')

print(hmac.new(secret, message, sha1).hexdigest())

之后,我用 b64 对 hexdigest 进行编码,并像文档所说Authorization: paolo:$hmac_base64_encoded
的那样用 curl 发送它问题是我总是收到 500 错误。
我究竟做错了什么?

4

1 回答 1

0

由于您使用的是 Python 3x,因此请确保在您的自定义 HMACAuth 中转换为字节(官方文档中的代码片段适用于 Python 2x)。

于 2014-10-28T06:55:53.790 回答