使用VS2013编译Crypto++加密库

Proditio

发布日期: 2018-11-06 22:04:18 浏览量: 1000
评分:
star star star star star star star star star star_border
*转载请注明来自write-bug.com

背景

近期写了一个关于AES和RSA加解密的小程序,其中加解密模块使用开源的Crypto++加密库写的。在程序使用Crypto++加密库之前,需要下载Crytpo++加密库的源码到本地,自己编译,得到库文件。

当时的最新版Crypto++版本是5.6.5版本,支持到VS2010开发环境编译,所以,我使用VS2013去编译的话,还需要项目进行一些编译的设置。

现把当时编译的过程详细描述出来,形成文档,方便有需要的人们参考。

准备工作

首先,你要有个VS2013开发环境。因为本文讲解的是使用VS2013开发环境进行编译的,理论上VS2010、VS2012、VS2015、VS2017等应该也适用的。

其次,需要到Crypto++官网 (https://www.cryptopp.com) 下载Crypto++库的源码。本文以“Crypto++ 5.6.5”版本为例进行讲解。

编译过程

1. 升级解决方案

将“Crypto++ 5.6.5”版本Crypto++库源码下载下来后,进行解压缩。使用VS2013开发环境打开“cryptest.sln”解决方案文件。VS2013提示说“升级VC++编译器和库”,这时我们点击“确定”。因为Crypto++项目工程原来使用VS2010开发的,现在我们使用VS2013重新进行编译,所以要对项目进行升级。

升级完成后,我们可以在左侧看到项目列表,其中“cryptlib”项目工程就是我们将要进行编译的项目工程。

2. 更改项目工程平台工具集

选中要编译的“crytplib”项目工程,鼠标右击,选中“属性”,打开“属性页”。然后,在“平台工具集”的选项中,选择“Visual Studio 2013 - Windows XP (v120_xp)”,表示兼容XP平台,也就是在XP系统下,调用此Crypto++库文件,也能正常运行。

3. 重新生成

在设置完成之后,右击“cryptlib”项目工程,选择“重新生成(E)”。

这样,就可以在生成目录下找到生成的库文件了。

我们可以选择不同的编译模式:Debug模式或是Release模式,选择不同的位数:Win32或是x64,来生成我们所需的库文件。

4. 加载到程序中

我们编译得到库文件“cryptlib.lib”库文件之后,然后,把程序所用加密算法的头文件如:AES加密算法所需的头文件“aes.h”、RSA加密算法所需的头文件“rsa.h”、“randpool.h”、“hex.h”、“files.h”;连同库文件“cryptlib.lib”文件一起拷贝到我们自己的程序目录下,并导入到程序中。这样,我们就可以直接调用Crypto++加密库的函数了。

总结

步骤不是很复杂,要注意一点的是,注意编译的时候,“运行库”对应的设置,这样在自己程序调用编译好的Crypto++库的时候,也要选择相应的模式,进行相应的“运行库”设置。

参考

参考自《Windows黑客编程技术详解》一书

上传的附件

发送私信

不慌不忙,我们来日方长

8
文章数
5
评论数
最近文章
eject