我试图使用Python访问coinnest.co.kr(一个加密货币交易所)的交易API。要做到这一点,我必须按照这个网址的文档:https://www.coinnest.co.kr/doc/private.html使用MD5的API签名具有as sha256的密钥
我们得到一个密钥对公钥:ASDF-ASDF-ASDF-ASDF和私钥:QWER-qewr-QWER-QWER。
请求参数为:
"key":"asdf-asdf-asdf-asdf",
"nonce":1505209177,
"coin":"btc",
"id":3
然后要签名的字符串将是:
key=asdf-asdf-asdf-asdf&nonce=1505209278&coin=btc&id=3
现在我们使用QWER-qewr的MD5哈希-qwer-qwer作为密钥,并通过sha256加密上面的字符串,我们得到66b2935f3ba82a4a17074d439adab1043a63df4 a177af68fe76a3f4f350ef55d,这将用作签名。
我目前的问题是,我无法得到与例子相同的结果。我不确定他们的例子是否准确。私钥是“qwer-qewr-qwer-qwer”还是“qwer-qwer-qwer-qwer”。现时是“1505209177”还是“1505209278”?
#!/usr/bin/python2.7
import hashlib
import hmac
secret = 'qwer-qewr-qwer-qwer'
message = 'key=asdf-asdf-asdf-asdf&nonce=1505209278&coin=btc&id=3'
key = hashlib.md5(secret).hexdigest()
print hmac.new(key, message, hashlib.sha256).hexdigest()
使用上面的代码中,我获得也许你应该蛮力API文档的"afdfb1c331670d95c93868948ff769719b28d879ac94589fa44c4d5b8eacab04"
对比的 "66b2935f3ba82a4a17074d439adab1043a63df4a177af68fe76a3f4f350ef55d"
我已经得到了8种不同的结果,尝试各种形式的错字校正并试图给出不同的值,并且***没有***是“66b ...”。 –
这将是一个很好的问题,问他们。你也可以问这个秘密的MD5哈希值是多少,因为它不会增加任何安全性。 –
看起来像他们的文档可以使用澄清。我会给他们发一封电子邮件 –