Axios加密的POST参数

时间:2017-12-28 10:15:14

标签: rest post header axios signing

我想使用bitgrail的API(文档:https://bitgrail.com/api-documentation)。并要求余额。要做到这一点,你必须设置一个SIGNATURE,其中包括使用HMAC-SHA512和你的API-Secret加密的帖子参数。

所以你必须发送这些数据:

部首:

  

KEY - 公共API密钥

     

SIGNATURE - 使用您的秘密API密钥使用HMAC-SHA512 alghoritm加密的POST参数

数据:

  

nonce - 整数,总是大于之前调用的nonce。

但每当我尝试发送请求时,我都会收到“身份验证失败” - 来自Bitgrail的错误。

params设置如下:

params = {}
params.nonce = n();

然后像这样加密:

 let hmac = crypto.createHmac('sha512', 'MYSECRET');
 let digest = hmac.update(params.toString()).digest('hex');
 let signature = new Buffer(digest).toString('base64');

也许'params.toString()'不起作用。我是否必须将params变量设置为数组?

1 个答案:

答案 0 :(得分:0)

我通过使用const { URLSearchParams } = require('url');自己想出来 并删除此行:let signature = new Buffer(digest).toString('base64');并仅使用摘要作为签名。

相关问题