使用HMAC-SHA256的Python编码消息 [英] Python encoded message with HMAC-SHA256

查看:82
本文介绍了使用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

这篇关于使用HMAC-SHA256的Python编码消息的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆