36 lines
1.2 KiB
Markdown
36 lines
1.2 KiB
Markdown
|
<!-- TOC -->
|
|||
|
* [结构](#结构)
|
|||
|
* [Body 加密、解密](#body-加密解密)
|
|||
|
* [过程](#过程)
|
|||
|
* [ChkSum:](#chksum)
|
|||
|
<!-- TOC -->
|
|||
|
|
|||
|
|
|||
|
# 结构
|
|||
|
![](/home/mic/Pictures/Screenshots/截图_选择区域_20230426173011.png)
|
|||
|
|
|||
|
消息结构由两部分组成即消息头和消息体。消息头大小固定20个字节,在解析数据流时先读取20个字节,解析出消息头数据后再读取Body数据。
|
|||
|
|
|||
|
| 参数 | 字节书(byte) | 说明 |
|
|||
|
| ----- | ---- |----------------------|
|
|||
|
| Magic | 4 | 协议头,固定值,由服务端提供 |
|
|||
|
| Seq | 2 | 请求编号。返回数据时系统会并带上请求编号 |
|
|||
|
| Cmd | 2 | 消息命令ID |
|
|||
|
| UT | 4 | Unix时间戳,精确到秒 |
|
|||
|
| ChkSum | 4 | 校验和 |
|
|||
|
| Len | 4 | body的长度 |
|
|||
|
| Body | 不固定 | 加密的body数据 |
|
|||
|
|
|||
|
---
|
|||
|
## Body 加密、解密
|
|||
|
- 算法:AES-128-CBC
|
|||
|
- key:`example key 1234`(正式环境另外提供)。
|
|||
|
#### 过程
|
|||
|
|
|||
|
## ChkSum:
|
|||
|
- 算法:CRC-32校验和,使用IEEE多项式。
|
|||
|
>说明:将Seq、Cmd、UT、body(加密后)按顺序写入buffer后,通过CRC-32计算校验和。
|
|||
|
|
|||
|
|
|||
|
|