> ## Documentation Index
> Fetch the complete documentation index at: https://mint-a324815e.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# 签名规则

### 签名算法

1. 请求参数中除去sign和空值参数外，其他参数按**字典序排序**.

字典序定义：在英文字典中，排列单词的顺序是先按照第一个字母以升序排列（即 a、b、c……z 的顺序）；如果第一个字母一样，那么比较第二个、第三个乃至后面的字母。如果比到最后两个单词不一样长（比如，sigh 和 sight），那么把短者排在前。

2. 排序完成后，按照”key1value1key2value2…”进行拼接
3. 将项目的API Key拼接到第 2 步中得到的字符串最前面
4. 将第 3 步中获取的字符串使用散列算法取md5并转为小写即为sign，将sign添加到请求参数中

### 签名示例

**步骤 1** 假设项目 `API Key `为:

```bash theme={null}
f502a9ac9ca54327986f29c03b271491
```

**除 sign 外请求参数**为:

```bash theme={null}
{
  "pid": 1382528827416576,
  "currency": "195@195",
  "address": "TXsmKpEuW7qWnXzJLGP9eDLvWPR2GRn1FS",
  "amount": "1.1",
  "remark": "payout",
  "third_party_id": "c9231e604da54469a735af3f449c880f",
  "callback_url": "http://192.168.2.29:9099/callback",
  "nonce": "hwlkk6",
  "timestamp": 1688004243314
}
```

**步骤 2**（非空参数key按字典序排序）得到的字符串为：

```bash theme={null}
addressTXsmKpEuW7qWnXzJLGP9eDLvWPR2GRn1FSamount1.1callback_urlhttp://192.
168.2.29:9099/callbackcurrency195@195noncemb8udupid1382528827416576remarkpayo
utthird_party_id19faf9d3c8f34caf926f332f3021e887timestamp1688003966801
```

**步骤 3** （拼接项目key）的到字符串为:

```bash theme={null}
f502a9ac9ca54327986f29c03b271491addressTXsmKpEuW7qWnXzJLGP9eDLvWPR2GRn1FS
amount1.1callback_urlhttp://192.168.2.29:9099/callbackcurrency195@195noncemb8
udupid1382528827416576remarkpayoutthird_party_id19faf9d3c8f34caf926f332f3021e
887timestamp1688003966801
```

**步骤 4**（取md5）得到的 sign 为：

```bash theme={null}
c9bae061ae3f5f8d3bfde817f6966c36
```

**最后** 发送的请求参数为（增加了sign）:

```bash theme={null}
{
  "pid": 1382528827416576,
  "currency": "195@195",
  "address": "TXsmKpEuW7qWnXzJLGP9eDLvWPR2GRn1FS",
  "amount": "1.1",
  "remark": "payout",
  "third_party_id": "c9231e604da54469a735af3f449c880f",
  "callback_url": "http://192.168.2.29:9099/callback",
  "nonce": "hwlkk6",
  "timestamp": 1688004243314,
  "sign": "d6eef2de79e39f434a38efb910213ba6"
}
```
