cannot found -lxxx动态库找不到动态库文件,排查方向在当前CMakeLists.txt文件下使用link_directories指定动态库路径set(PROTOBUF_PATH "D:/protobuf-cpp-3.21.12&...
阅读全文...
C++ 报错:undefined reference to ‘xxxx’
undefined reference to ‘xxx’函数#情况1,库链接顺序不正确导致,明显特征是报错的函数是我们自己实现的函数,而不是底层函数
[build] D:/a-mycode/C++/DDZ-NET/client-ddz/window/lo...
阅读全文...
阅读全文...
C++封装OpenSSL哈希类
一、 基本用法// 创建MD5哈希对象
CryptographicHash hash(CryptographicHash::HashType::Md5);
// 添加数据
hash.addData("Hello World");
...
阅读全文...
阅读全文...
Qt和OpenSSL进行base64编解码开发
一、基本用法// 发送端对加密后的数据使用base64编码
Base64 base64;
QByteArray encryptData = base64.enCode(reinterpret_cast<char*>(out), outLen)...
阅读全文...
阅读全文...
Qt和OpenSSL进行RSA非对称加解密开发(4)--数字签名和校验
数字签名和校验的流程:计算数据的哈希值,然后对哈希值进行数据签名,数据校验时,也是先计算接受到的数据的哈希值,然后对哈希值进行校验5.1、数据签名5.1.1、哈希值计算Qt的QCryptographicHash提供了一系列的加密算法实现,其中就包括哈希值...
阅读全文...
阅读全文...
Qt和OpenSSL进行RSA非对称加解密开发(3)--数据加解密
4.1使用公钥加密4.1.1、EVP_PKEY_CTX_new用于创建与给定密钥对象(EVP_PKEY)相关联的密钥上下文(EVP_PKEY_CTX)。EVP_PKEY_CTX *EVP_PKEY_CTX_new(EVP_PKEY *pkey, ENGI...
阅读全文...
阅读全文...
Qt和OpenSSL进行RSA非对称加解密开发(2)--读取或释放密钥对
3.1、从文件中读取密钥对3.1.1、BIO_new_file用于创建适用于文件 I/O 的 BIO 对象,它允许将文件与 BIO 抽象接口结合使用,以便进行读取或写入文件的操作。BIO *BIO_new_file(const char *filenam...
阅读全文...
阅读全文...
Qt和OpenSSL进行RSA非对称加解密开发(1)--生成密钥对
一、基本用法// 生成密钥对
RSACrypto rsa;
rsa.generateRSAKeyPair(RSACrypto::BITS_2K);
// 公钥加密
RSACrypto rsa1("public.pem", RSACr...
阅读全文...
阅读全文...
Qt和OpenSSL进行RSA非对称加解密开发(总)
文章有很多相同函数的解释,建议直接跳到需要学习的目录一、基本用法// 生成密钥对
RSACrypto rsa;
rsa.generateRSAKeyPair(RSACrypto::BITS_2K);
// 公钥加密
RSACrypto rsa1(&qu...
阅读全文...
阅读全文...
Qt和OpenSSL进行AES对称加解密开发
一、对称加密1、基本用法// 创建密钥(大小必须与算法匹配)
QByteArray key(32, 'K'); // 32字节密钥用于256位加密
// 创建加密器
AESCrypto crypto(AESCrypto::Algorithm::AES...
阅读全文...
阅读全文...
openssl安装和基本使用
一、windows安装Windows 可以直接下载已经编译好的库:https://slproweb.com/products/Win32OpenSSL.html安装后将bin和lib添加到环境变量二、linux安装源码地址:https://github....
阅读全文...
阅读全文...
protobuf的安装和基本使用
一、安装protobuf下载连接:protobuf-cpp-3.21.121.1、ubuntu安装tar -zxvf protobuf-cpp-3.21.12.tar.gz
cd protobuf-cpp-3.21.12
sudo apt insta...
阅读全文...
阅读全文...
网络通信中的处理粘包问题
一、粘包问题基本概念网络粘包是指在TCP流式传输中,由于TCP协议的特性,多个数据包可能被合并成一个数据包接收(粘包),或者一个数据包被分割成多个数据包接收(半包)。这会导致接收端无法正确识别消息边界,从而造成数据解析错误。主要表现形式:粘包问题:多个数...
阅读全文...
阅读全文...
chsrc 全平台通用换源工具
chsrc全平台通用换源工具,能够为常用的工具快速设置镜像源下载链接:https://github.com/RubyMetric/chsrc/releases/tag/v0.1.9基本使用:帮助文档chsrc --help查看可用镜像源chsrc lis...
阅读全文...
阅读全文...