无效的API密钥hmac python

时间:2017-09-14 18:45:06

标签: python api hmac

我试图在https://c-cex.com/使用api为我的投资组合构建一个比特币交易应用程序,并且我遇到了使用需要身份验证的私有函数的问题。它提供了一个如何连接的php示例,我尽力在python中重新创建它,但它返回我的密钥无效(虽然我直接从我的电子邮件中复制了apikey

apikey='141FA9467F8EAC7917A9D6279AD96B4F';
apisecret='6A946F6A331F8CCDFA19EB2D73FD9B1D';
dt = datetime.datetime.now()
nonce= (dt - datetime.datetime(1970,1,1)).total_seconds()

uri='https://c-cex.com/t/api.html?a=getbalance&currency=BTC&apikey=' + apikey + '&nonce=' + str(nonce);
sign = hmac.new(bytes(apisecret,encoding='utf-8'), uri.encode(encoding='utf-8'), hashlib.sha512).hexdigest()
headers = {'apisign': sign}

response = requests.get(uri,headers)
print(response.json())

并且返回的输出是

{'result': None, 'success': False, 'message': 'APIKEY_INVALID'}

我能做的最好的假设是我没有正确使用hmac功能我已经用2个单独的API密钥测试了它(我的实际API密钥和只在访问权限的代码中测试一个获取GET功能)

1 个答案:

答案 0 :(得分:0)

我无法找到任何答案,所以我查看了一些类似的开源项目。

 encoding='ASCII'

是答案