bug:目前1.4.2的Release版本有问题,暂未找到问题。

This commit is contained in:
taynpg 2025-04-08 22:09:03 +08:00
parent 29d721ab8a
commit f176c0a8f0
5 changed files with 18 additions and 8 deletions

View File

@ -21,7 +21,7 @@
], ],
"visualizerFile": "${workspaceRoot}/.vscode/qt5.natvis", "visualizerFile": "${workspaceRoot}/.vscode/qt5.natvis",
"args": [ "args": [
"-u", "0" //"-u", "0"
] ]
}, },
"cmake.environment": { "cmake.environment": {

View File

@ -135,8 +135,9 @@ void CTcpServer::trans_data(CFrameBuffer* buf)
switch (buf->type_) { switch (buf->type_) {
case TYPE_GET_LIST: { case TYPE_GET_LIST: {
TLOGI("[{}] GetList.", buf->fid_); TLOGI("[{}] GetList.", buf->fid_);
CMessageInfo msg_info(buf->fid_); CMessageInfo msg_info(server_ip_);
get_client_list(msg_info); get_client_list(msg_info);
buf->fid_ = server_ip_;
serialize(msg_info, &buf->data_, buf->len_); serialize(msg_info, &buf->data_, buf->len_);
if (fcli && !send_frame(fcli->socket_, buf)) { if (fcli && !send_frame(fcli->socket_, buf)) {
TLOGE("GetList send failed."); TLOGE("GetList send failed.");

View File

@ -9,13 +9,18 @@ int main()
hash(key.c_str(), ik); hash(key.c_str(), ik);
char* msg = new char[256]{}; char* msg = new char[256]{};
memset(msg, 0, 256);
auto len = std::snprintf(msg + 12, 256, "%s", "hello world"); auto len = std::snprintf(msg + 12, 256, "%s", "hello world");
std::cout << encrypt(ik, (uint8_t*)msg, len + 12) << std::endl; std::cout << encrypt(ik, (uint8_t*)msg, len + 12) << std::endl;
std::cout << msg + 12 << std::endl;
uint8_t ik2[32]{}; uint8_t ik2[32]{};
hash(key.c_str(), ik2); hash(key.c_str(), ik2);
std::cout << decrypt(ik2, (uint8_t*)msg, len + 12) << std::endl; std::cout << decrypt(ik2, (uint8_t*)msg, len + 12) << std::endl;
std::cout << msg + 12 << std::endl;
return 0; return 0;
} }

View File

@ -1,5 +1,9 @@
cmake_minimum_required(VERSION 3.16) cmake_minimum_required(VERSION 3.16)
project(tinyaes LANGUAGES C) project(tinyaes LANGUAGES C)
set(CMAKE_C_STANDARD 11)
set(CMAKE_C_STANDARD_REQUIRED ON)
set(CMAKE_C_EXTENSIONS OFF) #
add_library(tinyaes STATIC aes.h aes.c aes.hpp) add_library(tinyaes STATIC aes.h aes.c aes.hpp)
target_include_directories(tinyaes PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}) target_include_directories(tinyaes PUBLIC ${CMAKE_CURRENT_SOURCE_DIR})

View File

@ -142,7 +142,7 @@ void serialize(CMessageInfo& msg_info, char** out_buf, int& len)
// 计算总长度 // 计算总长度
len = sizeof(int) * 4 + info.id.size() + info.uuid.size() + info.str.size() + info.data.size() + kz; len = sizeof(int) * 4 + info.id.size() + info.uuid.size() + info.str.size() + info.data.size() + kz;
*out_buf = new char[len]; // 分配内存(调用方负责释放) *out_buf = new char[len]{}; // 分配内存(调用方负责释放)
char* ptr = *out_buf + kz; char* ptr = *out_buf + kz;
@ -201,7 +201,7 @@ bool deserialize(char* data, int len, CMessageInfo& msg_info)
return false; return false;
} }
int id_size; int id_size{};
memcpy(&id_size, ptr, sizeof(int)); memcpy(&id_size, ptr, sizeof(int));
ptr += sizeof(int); ptr += sizeof(int);
remaining -= sizeof(int); remaining -= sizeof(int);
@ -218,7 +218,7 @@ bool deserialize(char* data, int len, CMessageInfo& msg_info)
return false; return false;
} }
int uuid_size; int uuid_size{};
memcpy(&uuid_size, ptr, sizeof(int)); memcpy(&uuid_size, ptr, sizeof(int));
ptr += sizeof(int); ptr += sizeof(int);
remaining -= sizeof(int); remaining -= sizeof(int);
@ -235,7 +235,7 @@ bool deserialize(char* data, int len, CMessageInfo& msg_info)
return false; return false;
} }
int str_size; int str_size{};
memcpy(&str_size, ptr, sizeof(int)); memcpy(&str_size, ptr, sizeof(int));
ptr += sizeof(int); ptr += sizeof(int);
remaining -= sizeof(int); remaining -= sizeof(int);
@ -251,7 +251,7 @@ bool deserialize(char* data, int len, CMessageInfo& msg_info)
if (remaining < static_cast<int>(sizeof(int))) { if (remaining < static_cast<int>(sizeof(int))) {
return false; return false;
} }
int o_size; int o_size{};
memcpy(&o_size, ptr, sizeof(int)); memcpy(&o_size, ptr, sizeof(int));
ptr += sizeof(int); ptr += sizeof(int);
remaining -= sizeof(int); remaining -= sizeof(int);
@ -299,7 +299,7 @@ void rdm(uint8_t* o, size_t size)
{ {
std::random_device rd; std::random_device rd;
std::uniform_int_distribution<int> dist(0, 255); std::uniform_int_distribution<int> dist(0, 255);
std::generate(o, o + size, [&]() { return dist(rd); }); std::generate(o, o + size, [&]() { return static_cast<uint8_t>(dist(rd)); });
} }
bool encrypt(const uint8_t* k, uint8_t* m, size_t len) bool encrypt(const uint8_t* k, uint8_t* m, size_t len)