正版资源【夏曹俊】C++加密与解密 -实战区块链核心密码学-基于openssl(82节完整版)
这门课的主题很明确:用 C++ 把密码学从「知道概念」推到「能写出可编译、可调试的代码」。它不绕开数学,但也不把时间耗在纯理论推导上,重点始终落在 OpenSSL 这层工程接口上——对称加密、非对称加密、哈希、签名、证书与密钥交换,最后收束到区块链里真正用到的那几组密码学原语。 如果你之前读过密码学
这门课的主题很明确:用 C++ 把密码学从「知道概念」推到「能写出可编译、可调试的代码」。它不绕开数学,但也不把时间耗在纯理论推导上,重点始终落在 OpenSSL 这层工程接口上——对称加密、非对称加密、哈希、签名、证书与密钥交换,最后收束到区块链里真正用到的那几组密码学原语。
如果你之前读过密码学教材、也能看懂 AES 与 ECC 的框图,但一旦要落到 EVP 接口、BIO 流、PEM/DER 编码就卡住,这份资料的价值就在这里。它按 82 节的节奏把「接口怎么调、参数为什么这么传、出错怎么排查」讲清楚,适合对照手敲,而不是只当视频看。
技术栈与依赖环境
核心依赖是 OpenSSL,且从目录里的项目线索看,课程是按 OpenSSL 3.0 这条线组织的,配合 VS2019 搭建测试工程。这意味着你在动手前要先解决几件工程上的事:Windows 下的库头文件路径、lib 链接、运行时 DLL 的部署,以及 OpenSSL 3.0 引入的 provider 与 legacy 算法加载差异。老版本里直接可用的某些算法接口在 3.0 下会走不同路径,这一点如果没在环境阶段处理好,后面每个实验都会卡在链接或初始化上。
C++ 侧用的是标准库加 OpenSSL C API,没有额外框架负担。这种组合的好处是代码可以直接搬进后端服务、区块链节点或安全模块里,不需要先剥离一层课程专用脚手架。
从接口到结构:课程的组织方式
课程推进的逻辑大致是三层:最底层是 OpenSSL 的对象模型与 IO 抽象,比如 BIO 这类既当流又当过滤器的东西,理解它之后,文件、内存、socket、base64 编码这些操作才能串起来;中间层是各类算法的 EVP 封装,把对称、非对称、摘要、签名统一到同一套上下文流程;最上层才是区块链场景里的具体组合,比如哈希链结构、地址生成、密钥对与签名的实际用法。
目录中可以看到大量实验型小节,每节对应一个可独立编译的小目标。这种结构的复用点在于:每个实验的代码框架高度相似——初始化、设置参数、喂数据、取结果、清理。把其中一两个吃透,后面的算法替换基本只是换函数名和参数。
区块链密码学的落点
课程标题里的「区块链核心密码学」不是噱头,它对应的是几组真实被用到的原语:哈希用于区块头与地址派生,椭圆曲线用于密钥对与签名,对称加密用于钱包文件保护,编码格式用于数据在链上链下的传输。把这些放在一起讲,比单独讲某个算法更容易看清它们各自在系统中的位置——哪些环节只要求抗碰撞,哪些环节必须防伪造,哪些环节其实只是编码问题。
需要注意的是,课程讲的是密码学原语与 OpenSSL 的实现用法,不是完整区块链协议的实现。把它当作「链上密码学组件的 C++ 落地练习」来判断定位会更准确。
怎么用这份资料
- 先把 OpenSSL 3.0 的环境跑通,能编译出第一个测试工程,再往下走,否则后面每节都在重复排环境错误。
- 每节至少手敲一遍,重点观察返回值与错误栈,OpenSSL 的错误码机制本身就是一个需要单独花时间理解的点。
- 对 BIO 与 EVP 这两条主线做笔记,它们是后面所有算法实验的公共骨架。
- 把哈希、签名、对称加密各挑一个实验改造成小工具,验证自己是否真的理解了参数含义,而不是照抄调用序列。
82 节的体量不小,但如果按「环境—IO 抽象—算法封装—场景组合」这条线去拆,实际需要反复回看的部分并不多。适合把它当作一个可以随时翻查的 C++ 密码学工程手册来用。
【夏曹俊】C++加密与解密 -实战区块链核心密码学-基于openssl(82节完整版)
深入理解加密原理,实战区块链技术
编辑点评
课程深入浅出地讲解了C++加密与解密技术,结合OpenSSL库,实战演示了区块链核心密码学应用,适合对加密算法和区块链技术感兴趣的学习者。
⭐ 编辑推荐
本课程由夏曹俊老师主讲,全面解析C++加密与解密技术,实战区块链核心密码学,助你掌握OpenSSL库应用。
✨ 课程亮点
课程目录
配套资料33 集
- 配套资料【公众号:CunWorkNotes】.exe [165.4 MB]
- 18.使用MD5HashList验证文件完整性定时检测文件修改【公众号:CunWorkNotes】.mp4 [43.7 MB]
- 19.比特币中Merkle可信树基于SHA1算法代码模拟.mp4 [62.9 MB]
- 64.椭圆曲线ECDSA签名和验签原理分析.mp4 [11.1 MB]
- 72.SSLTLS协议介绍【公众号:CunWorkNotes】.mp4 [13.7 MB]
- 15.单项散列函数的应用场景详解和常用算法比特币挖矿消息认证码.mp4 [26.1 MB]
- 21.基于SHA256模拟比特币挖矿代码演示.mp4 [19.3 MB]
- 58.基于OpenSSL的EVP接口的RSA解密【公众号:CunWorkNotes】.mp4 [28.4 MB]
- 34.使用DES的CBC算法替换ECB演示【公众号:CunWorkNotes】.mp4 [38.3 MB]
- 23.使用OpenSSLEVP接口完成SHA3和国密SM3散列生.mp4 [49.5 MB]
- 47.测试12类对称加密算法性能测试类的初始化和测试函数【公众号:CunWorkNotes】.mp4 [45.3 MB]
- 50.RSA非对称加密原理介绍和密钥对生成原理分析【公众号:CunWorkNotes】.mp4 [20.1 MB]
- 45.完成XSec封装加解密演示用AES加解密文件.mp4 [41.9 MB]
- 65.完成椭圆曲线ECDSA的签名和验签EVP代码.mp4 [23.5 MB]
- 3.使用vs2019创建第一个openssl30的测试项目.mp4 [23.3 MB]
- 69.完成椭圆曲线客户端与服务端交换秘钥示例代码.mp4 [36.8 MB]
- 35.使用C封装DES算法实现初始化和密码填充策略.mp4 [42.7 MB]
- 73.TLS握手协议和记录协议详解.mp4 [13.9 MB]
- 77.完成OpenSSL服务端SSL握手调用.mp4 [45.1 MB]
- 53.完成RSA公钥加密数据,并处理填充数据.mp4 [39.2 MB]
- 51.OpenSSL的RSA秘钥对生成代码详解.mp4 [46.8 MB]
- 43.AES算法原理介绍.mp4 [15.4 MB]
- 36.封装DES的ECB算法并实现了PKCS7数据填充协议.mp4 [35.8 MB]
- 11.Base58_比特币钱包地址_算法分析.mp4 [24.1 MB]
- 13.单向散列函数章节任务说明.mp4 [5.4 MB]
- 20.SHA2原理分析和比特币挖矿模拟原理分析.mp4 [17.6 MB]
- 62.打印支持曲线列表并选择椭圆曲线生成秘钥.mp4 [36.7 MB]
- 31.DES算法原理介绍.mp4 [7.5 MB]
- 49.对称分组加密算法章节总结.mp4 [7.3 MB]
- 48.完成对称加密算法性能测试并将项目移植到Linux.mp4 [28.8 MB]
- 59.签名和验签原理讲解并演示rsa的签名的代码.mp4 [34.7 MB]
- 24.消息认证码HMAC算法介绍和安全分析.mp4 [14.9 MB]
- 44.封装C加密类支持AES和3DES完成初始化.mp4 [64.1 MB]
- …(已达 35 条上限,后续省略)
适合人群
- C++开发者
- 区块链技术爱好者
- 加密算法研究者
🎯 学习收获
- 掌握C++加密与解密技术
- 理解OpenSSL库应用
- 掌握区块链核心密码学
🎉 祝您学习愉快!




