我一直在尝试在C#应用中对coin.mx网站进行查询,并且我一直收到403禁止错误。他们的例子使用python:
base64.b64encode(str(HMAC(YOUR_SECRET, PATH+'?'+S, sha512).digest())),
其中PATH是一个http路径(e.x。" / api / v2 / trader / info")
鉴于我的秘密是一个形式为" d1e2a3d4"的十六进制字符串,我按如下方式计算我的签名:
HMACSHA512 mHasher512 = new HMACSHA512(secret);
var path = "/api/v2/trader/info?nonce=123"
var msg = Encoding.ASCII.GetBytes( path );
var hash = mHasher512.ComputeHash(msg);
var hashb64 = Convert.ToBase64String(hash);
return hashb64;
这看起来是对的吗?
答案 0 :(得分:0)
我遇到了同样的问题,并在寻找解决方案时发现了这个问题。我最后通过删除路径字符串中的?
来解决问题。尝试按如下方式更改路径变量(这只是为了获取哈希字符串,当然GET请求仍然需要var path = "/api/v2/trader/infononce=123"
。)
PATH
请注意文档似乎不正确。我通过查看示例python代码来解决这个问题。