Crypto++ (CryptoPP) 是一个用于密码学和加密的 C++ 库。它是一个开源项目,提供了大量的密码学算法和功能,包括对称加密、非对称加密、哈希函数、消息认证码 (MAC)、数字签名等。Crypto++ 的目标是提供高性能和可靠的密码学工具,以满足软件开发中对安全性的需求。该库包含了许多... ...
概述 - Overview 在我初学 C++ 时,static、inline、extern 可能是最令我迷惑的 C++ 说明符,原因是它们在不同的语境下会发挥不同的作用,而且某些说明符的含义已经和以前不同,这加剧了我在查询资料时的困扰。所以今天决定好好总结一下。 首先要介绍 C++ 的两个概念:存储 ...
Zlib是一个开源的数据压缩库,提供了一种通用的数据压缩和解压缩算法。它最初由Jean-Loup Gailly和Mark Adler开发,旨在成为一个高效、轻量级的压缩库,其被广泛应用于许多领域,包括网络通信、文件压缩、数据库系统等。其压缩算法是基于DEFLATE算法,这是一种无损数据压缩算法,通常... ...
一、参考 https://ericniebler.com/2020/11/08/structured-concurrency/ 二、总结 1. 结构化并发是什么-概述 是什么:一种确保子操作在父操作之前完成的方式,类似函数在调用函数之前完成。 最典型的结构化并发:C++20的协程 意义:它通过使异步 ...
十八、函数(一) 1、函数概述 1)函数带来的好处 ①代码模块化,便于阅读维护 ②代码模块化以后,能够实现分工合作 ③减少重复代码,降低工作流 2)函数的语法 //函数的语法 返回类型 函数名称(参数,参数,参数,参数) //参数的语法包括:参数类型 参数名称 { 函数的功能区; return 返回 ...
AES(Advanced Encryption Standard)是一种对称加密算法,它是目前广泛使用的加密算法之一。AES算法是由美国国家标准与技术研究院(NIST)于2001年发布的,它取代了原先的DES(Data Encryption Standard)算法,成为新的标准。AES是一种对称加密... ...
HTTP(Hypertext Transfer Protocol)是一种用于传输超文本的协议。它是一种无状态的、应用层的协议,用于在计算机之间传输超文本文档,通常在 Web 浏览器和 Web 服务器之间进行数据通信。HTTP 是由互联网工程任务组(IETF)定义的,它是基于客户端-服务器模型的协议,... ...
Xterm是一个基于X Window System的终端仿真器(Terminal Emulator)。Xterm最初由MIT开发,它允许用户在X Window环境下运行文本终端程序。Xterm提供了一个图形界面终端,使用户能够在图形桌面环境中运行命令行程序。而xterm.js是一个用于在浏览器中实现... ...
一. 环境 Linux x86_64,g++ 8.5.0 二. 实现 自实现 string 之前一直想写来着,一直拖着,现在把它完稿。这个版本是比较简单的版本,有一些可能有不同的或者更好的实现方式,后面有机会会加到里面。 打算实现的接口如下 class MyString { friend std:: ...
PlayImage 记得一键三连哦 一个使用简单的QPainter绘图事件实现图片播放器的简易demo 支持图片切换 支持多路更新,自己扩展即可 支持幻灯片播放 PlayImage自定义控件支持复用,对外提供updateImage和updatePixmap接口,对传入的image和pixmap进行图 ...
1 快速入门 1.1 为什么存在 Makefile? Makefile用于帮助决定大型程序的哪些部分需要重新编译。在绝大多数情况下,都会编译C或C++文件。 其他语言通常有自己的工具,其用途与Make类似。当您需要根据已更改的文件运行一系列指令时,Make也可以在编译之外使用。 本教程将重点介绍C/ ...
计算机安全和数据隐私是现代应用程序设计中至关重要的方面。为了确保数据的机密性和完整性,常常需要使用加密和解密算法。C++是一种广泛使用的编程语言,提供了许多加密和解密算法的实现。本文将介绍一些在C++中常用的加密与解密算法,这其中包括Xor异或、BASE64、AES、MD5、SHA256、RSA等。 ...
位运算 题目背景 题目由 daiyulong20120222 创作(me) 并由 QBW1117完善以及数据 。 题目描述 给定两个数\(x,y\) ,在给定一个位运算符号 \(c\)。 请你列出 \(x,y\) 进行 \(c\) 位运算是的算数竖式式。 注: 竖式这么列: 显示出两个数的完整二进制 ...
十七、C++字符串(二) 1、字符串的应用 需求:设计一个程序,用户输入属性id或者pass或者role可以把对应的内容显示出来,给定字符串如下: string str{"id=user;pass=632105;role=郝英俊;"}; //设计一个程序,用户输入属性id或者pass或者role可以 ...
最近买了本C++20的书,想要自己配置下在VScode的环境 例子代码: #include <iostream> #include <format> int main() { std::cout << std::format("Hello, world! {0}", 123) << std::end ...
Npcap 是一个功能强大的开源网络抓包库,它是 WinPcap 的一个分支,并提供了一些增强和改进。特别适用于在 Windows 环境下进行网络流量捕获和分析。除了支持通常的网络抓包功能外,Npcap 还提供了对数据包的拼合与构造,使其成为实现 UDP 数据包发包的理想选择。本章将通过Npcap库... ...
十六、C++字符串(一) 1、原生字符串实现将两个字符串拼接 //原生字符串实现将两个字符串拼接 #include <iostream> #include <locale> int main() { char strA[0x10] = "123"; //定义字符串 char strB[0x10] = ...
因PDF文档具有较好的稳定性和兼容性,现在越来越多的合同、研究论文、报告等都采用PDF格式。为了进一步保护这些重要文档内容免受未经授权的复制或使用,我们可以添加水印以表明其状态、所有权或用途。针对工作中可能出现的在 C++ 应用程序中给 PDF 文档添加文字水印的需求,本文将详细展示如何通过第三方国 ...
C++ 动态实例化(new 和 malloc) malloc / free 工作原理 malloc 是 stdlib.h 库中的函数,原型为 void *__cdecl malloc(size_t _Size);: 作用: malloc 函数沿空闲链表(位于内存 堆空间 中)申请一块满足需求的内存块 ...
十五、联合体(union) 1、union语法 联合体和结构体都是自定义数据类型 ,通过union可以创建一个联合体,union中的成员变量共享内存(即内存中有重叠的部分),因此union的数据类型大小由其最大的成员变量决定。 //联合体union语法 union 联合体名称 { 变量类型 变量 ...