签名步骤

API 请求在通过 Internet 发送的过程中极有可能被篡改。为了确保请求未被更改,我们会要求用户在每个请求中带上签名(行情 API 除外),来校验参数或参数值在传输途中是否发生了更改。

  1. 规范要计算签名的请求 因为使用 HMAC 进行签名计算时,使用不同内容计算得到的结果会完全不同。所以在进行签名计算前,请先对请求进行规范化处理。下面以查询资产详情请求为例进行说明
{
    "cmds":[
        {
            "cmd":"transfer/assets",
            "body":{
                "select":1
            }
        }
    ],
    "apikey":"",
    "sign":""
}
  1. 格式化cmds
    {
     "cmds": "[{\"cmd\":\"transfer/assets\",\"body\":{\"select\":1}}]", //js用 JSON.stringify()进行格式化
     "apikey":"",
     "sign":""
    }
    
  2. 填写您申请的apikey
    {
     "cmds": "[{\"cmd\":\"transfer/assets\",\"body\":{\"select\":1}}]",
     "apikey":"5213595xxxxedca0809axxxxxaba7580xxxxxa6",
     "sign":""
    }
    
  3. 使用您申请的apisecret签名cmds
    {
     "cmds": "[{\"cmd\":\"transfer/assets\",\"body\":{\"select\":1}}]",
     "apikey":"5213595xxxxedca0809axxxxxaba7580xxxxxa6",
     "sign":"6a21e39e3f68b6fc2227c4074c7e6a6c"
    }
    

计算签名,将以下两个参数传入加密哈希函数:

要进行签名计算的字符串

"[{\"cmd\":\"transfer/assets\",\"body\":{\"select\":1}}]"

进行签名的密钥(apisecret)

bxxxxxxxxf1236222xxxxxxxxx6d5d76d5xxxxxxxxx

得到签名计算结果

6a21e39e3f68b6fc2227c4074c7e6a6c