fix:修正加解密BUG。

This commit is contained in:
taynpg 2025-04-09 16:20:34 +08:00
parent 807dbdfede
commit 6ecf0d419a
2 changed files with 9 additions and 9 deletions

View File

@ -42,7 +42,7 @@
## 1.程序启动 ## 1.程序启动
- 对于服务端程序`tss`,绑定默认绑定`0.0.0.0``9898`端口,如果需要修改端口,使用参数启动,示例:`tss 9898` - 对于服务端程序`tss`,绑定默认绑定`0.0.0.0``9898`端口,如果需要修改端口,使用参数启动,示例:`tss 9898`
- 对于客户端程序`tsc`,请使用`tsc --help`查看使用方式 - 对于客户端程序`tsc`,请使用`tsc --help`查看如何启动
## 2.使用 ## 2.使用

View File

@ -9,7 +9,7 @@
CTransProtocal::CTransProtocal() = default; CTransProtocal::CTransProtocal() = default;
constexpr uint8_t kz = 16; constexpr uint8_t kz = 16;
static bool use_encrypt = false; static bool use_encrypt = true;
CTransProtocal::~CTransProtocal() = default; CTransProtocal::~CTransProtocal() = default;
/* /*
@ -182,15 +182,15 @@ void serialize(CMessageInfo& msg_info, char** out_buf, int& len)
ptr += sizeof(int); ptr += sizeof(int);
memcpy(ptr, info.data.data(), o_size); memcpy(ptr, info.data.data(), o_size);
char* c = *out_buf; char* mark = *out_buf;
if (!use_encrypt) { if (!use_encrypt) {
c[0] = 0x00; mark[0] = 0x00;
return; return;
} }
uint8_t ik[32]{}; uint8_t ik[32]{};
hash(msg_info.id.c_str(), ik); hash(msg_info.id.c_str(), ik);
encrypt(ik, (uint8_t*)(*out_buf + 1), len); encrypt(ik, (uint8_t*)(*out_buf + 1), len - 1);
c[0] = 0x01; mark[0] = 0x01;
} }
bool deserialize(char* data, int len, CMessageInfo& msg_info) bool deserialize(char* data, int len, CMessageInfo& msg_info)
@ -201,13 +201,13 @@ bool deserialize(char* data, int len, CMessageInfo& msg_info)
auto& info = msg_info; auto& info = msg_info;
char* ptr = data + kz + 1; char* ptr = data + kz + 1;
uint8_t ie = data[0]; uint8_t mark = data[0];
int remaining = len; int remaining = len;
if (ie != 0x00) { if (mark != 0x00) {
uint8_t ik[32]{}; uint8_t ik[32]{};
hash(msg_info.id.c_str(), ik); hash(msg_info.id.c_str(), ik);
if (!decrypt(ik, (uint8_t*)(data + 1), len)) { if (!decrypt(ik, (uint8_t*)(data + 1), len - 1)) {
return false; return false;
} }
} }