AttributeError:HMAC实例没有属性' __ len __'蟒蛇

时间:2018-03-21 00:02:17

标签: amazon-s3 hex sha256 hmac attributeerror

目前正在为AWS s3签署签名。在我计算签名的最后一个哈希中,我收到以下错误:

 signature = hmac.new(signingkey, policy, hashlib.sha256).digest()
  File "/usr/lib/python2.7/hmac.py", line 136, in new
    return HMAC(key, msg, digestmod)
  File "/usr/lib/python2.7/hmac.py", line 71, in __init__
    if len(key) > blocksize:
AttributeError: HMAC instance has no attribute '__len__'

代码:

datekey = hmac.new(str("AWS4") + AWS_UPLOAD_SECRET_KEY,stringdate , hashlib.sha256).digest()
            dateregionkey = hmac.new(datekey, AWS_UPLOAD_REGION, hashlib.sha256).digest()
            dateregionservicekey = hmac.new(dateregionkey,"s3", hashlib.sha256).digest()
            signingkey = hmac.new(dateregionservicekey, "aws4_request")
            signature = hmac.new(signingkey, policy, hashlib.sha256).digest()

任何导致这种情况的想法?在编码中总是这样的。我们什么都得不到 - -

1 个答案:

答案 0 :(得分:0)

signingkey = hmac.new(dateregionservicekey, "aws4_request").digest()

否则签名密钥是一个hmac对象