Cryptopp 加密库 RSA 加密算法的 入门指引

导读

  由于使用需要,进来开始接触 Windows 平台下 C++编程开发使用的 RSA 加密算法。先是接触了 微软提供的 RSA Cryptography(位于头文件 wincrypt.h 下),主要的接口有 CryptExportKey,CryptEncrypt,CryptImportKey , CryptBinaryToString 等,虽然网上有人提供了部分使用示例,如这里这里,官网也有相关接口的说明和例子,  然而或许是个人初步接触,水平有限(相关知识和英文水平),入门起来还是有些痛苦,没有一个快速能够上手的条件。

      在将目光转向了另一个 C++ 开源库 Crypto++ 。Crypto++是一个开源的C++加密算法库,它包括密码、消息认证码,单向散列函数,公钥密码机制,关键协议方案,缩小压缩等加密算法。

      出乎意料的是,对于初学者上手来说,相比于Win32 提供的接口,操作起来则容易很多。官方提供 windows 平台下 Visual Studio 的 sln 解决方案,极大减小了刚接触入门者编译和运行测试的门槛。

      本文简单记录 自己如何 下载 和 使用 Cryptopp 库的过程,希望为有有关需要的人提供一个参考。 


1、环境 和 软件

开发平台:Windows

开发工具:Visual Studio 2015

加密算法库:Cryotopp : https://www.cryptopp.com/

 

2、项目下载与编译测试

由于 Cryotopp 库自带提供了很多测试用例、以及自带 Visual Studio 解决方案 sln 的配置,实际上整个过程变得非常简单

(1)从官方下载 Release 发布包

访问官网:https://www.cryptopp.com/ ,点击 Download 链接

 

 

 在列表中下载特定的版本的 Release

 

 

 

(2)使用 Visual Studio 打开 sln 项目

 

解决方案下有 4 个项目: 

 

 其中,cryptdll 项目将生成动态 dll;   cryptlib 项目用于生成静态 lib

dlltest 用于 测试 cryptdll;  cryptest 则提供了大量的测试用例,用于测试。

 

(3)RSA 的测试和使用

进入 cryptest 项目,可通过命令行指令,测试 生成 公钥和秘钥、进行加密和解密测试

 

参数设置 g 测试生成公钥和秘钥

 

 

输入长度,私钥公钥的存储位置 和  秘钥种子,便可完成秘钥的生成

 

 

参数设置 r 测试使用公钥加密,和使用秘钥解密

 

 

指定 秘钥的位置,输入 加密的消息 即可进行测试加密和解密

 

 

 

3、参考链接

关于cryptopp加密库RSA加密算法的简单应用

visual studio c++ 2015 Crypto++ 下载、编译和部署

关于 秘钥种子

 

posted @   BensonLaur  阅读(1953)  评论(0编辑  收藏  举报
编辑推荐:
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
阅读排行:
· 周边上新:园子的第一款马克杯温暖上架
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?
· 使用C#创建一个MCP客户端
点击右上角即可分享
微信分享提示