我想以下列格式提出请求:
https://bittrex.com/api/v1.1/account/getbalance?apikey=API_KEY¤cy=BTC
我确实拥有公钥和密钥。但是我发现了以下声明:
对于此版本,我们使用标准HMAC-SHA512签名。将apikey和nonce附加到您的请求并计算HMAC哈希并将其包含在apisign标题下
我真的不知道如何正确加密我的密钥。使用普通密钥显然会返回" NONCE_NOT_PROVIDED"。我得到的一切都是这样的:
current_price = requests.get("https://bittrex.com/api/v1.1/account/getbalance?apikey=API_KEY¤cy=BTC")
如何正确签名和加密密钥?谢谢。
编辑:
目前的尝试如下所示。
def getWalletSize():
APIkey = b'29i52wp4'
secret = b'10k84a9e'
s = "https://bittrex.com/api/v1.1/account/getbalance?apikey=29i52wp4¤cy=BTC"
digest = hmac.new(secret, msg=s, digestmod=hashlib.sha512).digest()
current_balance = requests.get(digest)
return current_balance
然而,它引发了错误Unicode-objects must be encoded before hashing
答案 0 :(得分:3)
import hmac
import hashlib
import base64
API_KEY = 'public_key'
s = """GET https://bittrex.com/api/v1.1/account/getbalance?apikey=%s¤cy=BTC""" % API_KEY
base64.b64encode(hmac.new("1234567890", msg=s, digestmod=hashlib.sha512).digest())
签署请求
digest = hmac.new(secret_key, msg=thing_to_hash, digestmod=hashlib.sha512).digest()
并将其编码为base64
base64.b64encode(digest)