导读 |
由于使用需要,进来开始接触 Windows 平台下 C++编程开发使用的 RSA 加密算法。先是接触了 微软提供的 RSA Cryptography(位于头文件 wincrypt.h 下),主要的接口有 CryptExportKey,CryptEncrypt,CryptImportKey , CryptBinaryToString 等,虽然网上有人提供了部分使用示例,如这里和这里,官网也有相关接口的说明和例子, 然而或许是个人初步接触,水平有限(相关知识和英文水平),入门起来还是有些痛苦,没有一个快速能够上手的条件。 在将目光转向了另一个 C++ 开源库 Crypto++ 。Crypto++是一个开源的C++加密算法库,它包括密码、消息认证码,单向散列函数,公钥密码机制,关键协议方案,缩小压缩等加密算法。 出乎意料的是,对于初学者上手来说,相比于Win32 提供的接口,操作起来则容易很多。官方提供 windows 平台下 Visual Studio 的 sln 解决方案,极大减小了刚接触入门者编译和运行测试的门槛。 本文简单记录 自己如何 下载 和 使用 Cryptopp 库的过程,希望为有有关需要的人提供一个参考。 |
目录 |
开发平台:Windows
开发工具:Visual Studio 2015
加密算法库:Cryotopp : https://www.cryptopp.com/
由于 Cryotopp 库自带提供了很多测试用例、以及自带 Visual Studio 解决方案 sln 的配置,实际上整个过程变得非常简单
访问官网:https://www.cryptopp.com/ ,点击 Download 链接
在列表中下载特定的版本的 Release
解决方案下有 4 个项目:
其中,cryptdll 项目将生成动态 dll; cryptlib 项目用于生成静态 lib
dlltest 用于 测试 cryptdll; cryptest 则提供了大量的测试用例,用于测试。
进入 cryptest 项目,可通过命令行指令,测试 生成 公钥和秘钥、进行加密和解密测试
输入长度,私钥公钥的存储位置 和 秘钥种子,便可完成秘钥的生成
指定 秘钥的位置,输入 加密的消息 即可进行测试加密和解密
visual studio c++ 2015 Crypto++ 下载、编译和部署
关于 秘钥种子