---
updatedAt: 2026-09-22T06:17:33.000Z
---

# 加签算法

###

一、签名生成规则

appKey和appSecret需要从OMP后台的API信息获取，授权对象选择：自研系统

![](https://files.readme.io/1fd7ae5101c4ddf25d37adafe584d704fcb9dae306c668f52055e7c7142e0b6b-image.png)

<br />

**签名生成分为4个关键步骤：**
参数排序 - 按字典序升序排列参数名
参数拼接 - 将参数名和值拼接成字符串
构造基础字符串 - 组合appSecret+path+参数+appSecret
计算签名 - 使用HMAC-SHA256算法加密
示例请求
请求地址：<https://api.xlwms.com/openapi/v2/customer/list>

请求参数示例：

appKey：YOUR\_APP\_KEY<br />
appSecret：your\_app\_secret\_here\_32\_bytes\_long<br />
path：/openapi/v2/customer/list<br />
用户原始请求报文（未生成签名前）

```json
{
  "data": {
    "status": 0,
    "current": 1,
    "size": 10
  },
  "appKey": "YOUR_APP_KEY",
  "timestamp": "1790056664"
}
```

第一步：按字典升序排列参数名 （data内的参数无需排序）

```text
{appKey=YOUR_APP_KEY, data={status=0, current=1, size=10}, timestamp=1790056664}
```

<br />

第二步：将第一步生成的参数名和值拼接成字符串

```text
appKeyYOUR_APP_KEYdata{status=0, current=1, size=10}timestamp1790056664
```

<br />

第三步：appSecret + path + 第二步生成的字符串 + appSecret

```text
YOUR_APP_SECRET/openapi/v2/customer/listappKeyYOUR_APP_KEYdata{status=0, current=1, size=10}timestamp1790056664YOUR_APP_SECRET
```

<br />

第四步：步骤3生成的字符串和appSecret使用HMAC-SHA256算法加密生成sign

```text
YOUR_SIGN
```

<br />

生成签名后的请求报文

```json
{
  "data": {
    "status": 0,
    "current": 1,
    "size": 10
  },
  "appKey": "YOUR_APP_KEY",
  "sign":"YOUR_SIGN",
  "timestamp": "1790056664"
}
```

<br />

二、验签工具

![](https://files.readme.io/0facc1fefbeb647c0c61565c6849c63cabbcc909576a8a376d05a0dcf3d7ec4e-image.png)

对接前可以在OMP后台的API信息的开发验签工具进行调试

<br />