添加加密逻辑
parent
849b55033d
commit
edd6d91799
30
消息结构.md
30
消息结构.md
|
@ -1,12 +1,13 @@
|
|||
<!-- TOC -->
|
||||
* [结构](#结构)
|
||||
* [消息结构](#消息结构)
|
||||
* [Body 加密、解密](#body-加密解密)
|
||||
* [过程](#过程)
|
||||
* [ChkSum:](#chksum)
|
||||
* [Body数据的序列化和反序列化](#body数据的序列化和反序列化)
|
||||
* [Protobuf协议](#protobuf协议)
|
||||
* [消息命令与Body对应关系](#消息命令与body对应关系)
|
||||
<!-- TOC -->
|
||||
|
||||
|
||||
# 结构
|
||||
# 消息结构
|
||||
![](/home/mic/Pictures/Screenshots/截图_选择区域_20230426173011.png)
|
||||
|
||||
消息结构由两部分组成即消息头和消息体。消息头大小固定20个字节,在解析数据流时先读取20个字节,解析出消息头数据后再读取Body数据。
|
||||
|
@ -25,11 +26,30 @@
|
|||
## Body 加密、解密
|
||||
- 算法:AES-128-CBC
|
||||
- key:`example key 1234`(正式环境另外提供)。
|
||||
#### 过程
|
||||
|
||||
|
||||
## ChkSum:
|
||||
- 算法:CRC-32校验和,使用IEEE多项式。
|
||||
>说明:将Seq、Cmd、UT、body(加密后)按顺序写入buffer后,通过CRC-32计算校验和。
|
||||
|
||||
---
|
||||
# Body数据的序列化和反序列化
|
||||
### Protobuf协议
|
||||
> Protobuf即Protocol Buffers,是Google公司开发的一种跨语言和平台的序列化数据结构的方式,是一个灵活的、高效的用于序列化数据的协议。
|
||||
|
||||
本协议会提供多个协议文件,部分说明如下:
|
||||
- `const.proto` 文件定义cmd枚举和一些默认的结构。
|
||||
- `error.proto` 文件定义了默认错误结构
|
||||
- 其他文件代表不同的功能模块结构体
|
||||
|
||||
|
||||
---
|
||||
# 消息命令与Body对应关系
|
||||
|
||||
| Cmd | Body文件位置 | 请求body | 返回的body |
|
||||
|:---------------|:--------------|:-------|:--------------|
|
||||
| SCT_ping | system.proto | Ping | Pong |
|
||||
| SCT_GetVersion | version.proto | Empty | GetVersionRsq |
|
||||
|
||||
|
||||
|
||||
|
|
Loading…
Reference in New Issue