很多后端开发者对密码学的印象停留在"调个库就行",真到要处理接口签名、密钥交换、数据落库加密时,才发现分不清哈希和加密、不知道该用对称还是非对称、更说不清填充模式和 IV 到底在防什么。这门课就是冲着这类具体工作场景来的:它不讲泛泛的网络安全概念,而是用 C++ 配合 OpenSSL 3.0,把区块链里常用的那几类密码学操作从原理到代码走一遍。如果你正在做支付、鉴权、链上数据校验,或者只是想把"会用 API"变成"知道为什么这么用",它值得花时间。

它解决的是"能写出来"和"讲得清"之间的差距

课程从编码格式切入,先讲 base16、Base64 的原理,再动手用 C++ 实现编解码;接着进入单向散列函数,把 MD5 这类算法的原理拆开讲,而不是只让你记住一个函数名。这条线的价值在于:编码、摘要、加密经常被混为一谈,而实际排查问题时,恰恰是这些基础概念决定了你能不能看懂一段密文、一个签名、一个校验值是怎么来的。学完之后,你面对接口文档里的 signature、digest、salt 字段,不会再靠猜。适合的基础是能读懂 C++ 语法、写过基本的多文件工程;对密码学零基础可以,但完全没写过 C++ 的人会跟得比较吃力。

建议先看哪几块,顺序别乱

第一部分是环境搭建,Windows 下用 VS2019 配 OpenSSL 3.0,Linux 下编译源码并跑通测试项目。这一步别跳过,OpenSSL 3.0 的接口和旧版本差异不小,环境没通后面全是坑。第二部分是编码与散列,base16、Base64 和单向散列函数,建议边看边自己敲一遍编解码,理解字节与字符之间的转换关系。第三部分进入 OpenSSL 的 BIO 接口,这是后续所有加解密操作的入口,抽象层次比直接调 EVP 更底层,理解了它,再去看对称加密、非对称加密的调用就顺了。整体节奏是原理一段、代码一段,适合按顺序推进,不适合跳着刷。

学完能独立做什么,以及资料怎么配合练习

走完这条线,你应该能独立完成几件事:自己实现并验证 base16/Base64 的编解码;用 OpenSSL 计算和校验文件摘要,判断数据是否被篡改;搭建并编译 OpenSSL 环境,写出可运行的小型测试工程;理解区块链中哈希链、地址生成这类机制背后的密码学依据。练习建议是:每学完一个算法,先不看视频自己写一遍,再对照实现查差异;把编解码、摘要、加密三类操作分别封装成独立函数,形成自己的小工具库,比反复看视频有用得多。资料里的视频和配套工程适合作为参照,重点在动手复现,而不是看完就算学完。

课程目录

课程目录67 集
  • 课程介绍 本页收录 [C++]夏曹俊 C++加密与解密-实战区块链核心密码学-基于openssl,方向为后端开发 / itjc8,重点涉及 C++。 内容涵盖:1 base16编解码原理讲解、3 Base64原理分析、4 OpenSSL BIO接口解析、1 单向散列函数章节任务说明、2 什么是单向散列函数、4 MD5算法原理详解 等主题。 适合正在补 C++ 相关知识、想按目录逐步推进的学习者。 下方为完整资料与目录,可先看目录判断是否符合需要。 1-2 OpenSSL3.0介绍和在windows下使用vs2019.mp4
  • 1-3 使用vs2019创建第一个openssl3.0的测试项目.mp4
  • 1-4 linux下编译openssl3.0源码并编写测试项目.mp4
  • 2-1 base16编解码原理讲解.mp4
  • 2-2 从0开始C++实现base16编码和解码.mp4
  • 2-3 Base64原理分析.mp4
  • 2-4 OpenSSL_BIO接口解析.mp4
  • 2-5 OpenSSL_BIO接口Base64编码.mp4
  • 2-6 OpenSSL_BIO接口Base64解码并解决换行问题.mp4
  • 2-7 Base58_比特币钱包地址_算法分析.mp4
  • 2-8 比特币base58源码分析并抽取函数进行测试 单项散列_消息.mp4
  • 3-1 单向散列函数章节任务说明.mp4
  • 3-2 什么是单向散列函数.mp4
  • 3-3 单项散列函数的应用场景详解和常用算法_比特币挖矿_消息认证码.mp4
  • 3-4 MD5算法原理详解.mp4
  • 3-5 OpenSSL的MD5接口调用和源码分析.mp4
  • 3-6 使用MD5_HashList验证文件完整性_定时检测文件修改.mp4
  • 3-7 比特币中Merkle可信树基于SHA1算法代码模拟.mp4
  • 3-8 SHA2原理分析和比特币挖矿模拟原理分析.mp4
  • 3-9 基于SHA256模拟比特币挖矿代码演示.mp4
  • 3-10 SHA3和国密SM3散列算法介绍.mp4
  • 3-12 消息认证码HMAC算法介绍和安全分析.mp4
  • 3-13 OpenSSL的HMAC接口演示消息认证.mp4
  • 3-14 单向散列章节总结.mp4
  • 4-1 对称分组加密算法章节介绍和课程目标.mp4
  • 4-2 对称分组加密算法概述和ECB安全问题分析.mp4
  • 4-3 通过XOR自己实现一个对称分组加密算法原理介绍.mp4
  • 4-4 通过XOR自己实现一个对称分组加密算法代码演示.mp4
  • 4-5 DES算法原理介绍.mp4
  • 4-6 OpenSSL的DES加密接口讲解和调用演示.mp4
  • 4-7 演示操纵DES的ECB模式密文.mp4
  • 4-8 使用DES的CBC算法替换ECB演示.mp4
  • 4-9 使用C++封装DES算法实现初始化和密码填充策略.mp4
  • 4-10 封装DES的ECB算法并实现了PKCS7数据填充协议.mp4
  • 4-11 封装DES_CBC加解密算法实现PKCS7填充.mp4
  • 4-17 AES算法原理介绍.mp4
  • 4-18 封装C++加密类支持AES和3DES完成初始化.mp4
  • 4-19 完成XSec封装加解密演示用AES加解密文件.mp4
  • 4-20 国密SM4介绍添加到XSec封装中并修正DES算法的填充处理.mp4
  • 4-21 测试12类对称加密算法性能测试类的初始化和测试函数.mp4
  • 4-22 完成对称加密算法性能测试并将项目移植到Linux.mp4
  • 4-23 对称分组加密算法章节总结.mp4
  • 5-1 RSA非对称加密原理介绍和密钥对生成原理分析.mp4
  • 5-2 OpenSSL的RSA秘钥对生成代码详解.mp4
  • 5-3 RSA_PKCS1_PADDING填充协议分析.mp4
  • 5-4 完成RSA公钥加密数据,并处理填充数据.mp4
  • 5-5 完成RSA私钥解密数据.mp4
  • 5-10 签名和验签原理讲解并演示rsa的签名的代码.mp4
  • 5-12 椭圆曲线原理和加解密流程分析.mp4
  • 5-13 打印支持曲线列表并选择椭圆曲线生成秘钥.mp4
  • 5-15 椭圆曲线ECDSA签名和验签原理分析.mp4
  • 5-17 ecdh椭圆曲线秘钥交换协议分析.mp4
  • 5-20 完成椭圆曲线客户端与服务端交换秘钥示例代码.mp4
  • 5-21 非对称加密章节总结.mp4
  • 6-1 安全通信SSL_TLS_OPENSSL章节介绍.mp4
  • 6-2 SSL_TLS协议介绍.mp4
  • 6-3 TLS握手协议和记录协议详解.mp4
  • 6-4 基于OpenSSL证书和秘钥的制作.mp4
  • 6-5 OpenSSL 加密SSL_TLS通信接口分析.mp4
  • 6-6 OpenSSL接口编程实例完成跨平台通信项目.mp4
  • 6-7 完成OpenSSL服务端SSL握手调用.mp4
  • 6-8 打印通信使用的协议和x509证书信息.mp4
  • 6-9 完成基于OpenSSL的安全加密通信并用抓包验证.mp4
  • 6-10 HTTPS协议交互分析和HTTP协议介绍.mp4
  • 6-11 HTTPS网站服务器代码演示.mp4
  • 6-12 课程总结.mp4
  • 代码资料.zip
  • 下载地址: ali^*^2026