使用HMAC-SHA256的Python编码消息
问题描述
我尝试根据instructions
在python中使用HMAC-SHA256编码消息import hmac
import hashlib
nonce = 1234
customer_id = 123232
api_key = 2342342348273482374343434
API_SECRET = 892374928347928347283473
message = nonce + customer_id + api_key
signature = hmac.new(
API_SECRET,
msg=message,
digestmod=hashlib.sha256
).hexdigest().upper()
但我得到了这个
回溯(最近一次调用):文件"gen.py",第13行,在 Digestmod=hashlib.sha256文件"/usr/lib/python2.7/hmac.py",第136行,新 在init中返回HMAC(key,msg,digestmod)文件"/usr/lib/python2.7/hmac.py",第71行 If len(Key)>块大小:TypeError:‘Long’类型的对象没有len()
有人知道为什么会崩溃吗?
解决方案
您使用的数字应为字符串/字节。
# python 2
import hmac
import hashlib
nonce = 1234
customer_id = 123232
api_key = 2342342348273482374343434
API_SECRET = 892374928347928347283473
message = '{} {} {}'.format(nonce, customer_id, api_key)
signature = hmac.new(
str(API_SECRET),
msg=message,
digestmod=hashlib.sha256
).hexdigest().upper()
print signature
相关文章