我正在尝试使用 Python 访问加密货币交易所 coinnest.co.kr 的交易 API。为此,我必须遵循此处找到的文档:https ://www.coinnest.co.kr/doc/private.html
我们得到一对公钥: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-qwer-qwer 的 md5 哈希作为密钥,并通过 sha256 对上述字符串进行加密,得到 66b2935f3ba82a4a17074d439adab1043a63df4a177af68fe76a3f4f350ef55d 将用作签名。
我当前的问题是我无法获得与示例相同的结果。我不确定他们的例子是否准确。是私钥“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()
使用上面的代码,我得到了 的签名"afdfb1c331670d95c93868948ff769719b28d879ac94589fa44c4d5b8eacab04"
与预期的结果
"66b2935f3ba82a4a17074d439adab1043a63df4a177af68fe76a3f4f350ef55d"