Axios加密的POST参数

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Axios加密的POST参数相关的知识,希望对你有一定的参考价值。

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

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

标题:

KEY - 公共API密钥

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

数据:

nonce - 整数,始终大于先前调用的nonce。

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

参数设置如下:

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变量设置为数组?

答案

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

以上是关于Axios加密的POST参数的主要内容,如果未能解决你的问题,请参考以下文章

通过 axios post call 传递参数

Axios Http 客户端 - 如何使用表单参数构造 Http Post url

Vue在axios post请求的对象中发送一个空参数

VSCode自定义代码片段14——Vue的axios网络请求封装

VSCode自定义代码片段14——Vue的axios网络请求封装

VSCode自定义代码片段14——Vue的axios网络请求封装