您的位置:首页 > 运维架构

VC2008下使用OpenSSL 1.0.0g(免编译)

2012-02-08 11:24 666 查看




OpenSSL整个软件包大概可以分成三个主要的功能部分:密码算法库、SSL协议库以及应用程序。

官网:http://www.openssl.org/

OpenSSL for Windows:http://www.slproweb.com/products/Win32OpenSSL.html

在这里,我使用已编译好的OpenSSL库(上面第二个网址下载),安装过程如下:



安装过程中,会提示将DLL拷贝到系统目录,还是OpenSSL目录下的bin文件夹,如下图所示:



下面进行测试使用OpenSSL:

1.打开VS2008,新建一个Win32控制台应用程序,勾选"空项目";

2.菜单→"项目"→"添加新项"→"C++ 文件(.cpp)",名称为"main";

3.输入以下测试代码:

01

02

03

04

05

06

07

08

09

10

11

12

13

14

15

16

17

18

19

20

21
#include <string>

#include <iostream>

#include "openssl/md5.h"



int main()

{

std::string str = "1234";

std::string strMd5 = "";

unsigned char md[MD5_DIGEST_LENGTH];

char tmp[3] = {0};



MD5((const unsigned char*)str.c_str(), str.size(), md);

for (int i = 0; i < MD5_DIGEST_LENGTH; i++)

{

sprintf_s(tmp, "%02X", md[i]);

strMd5.append(tmp);

}



std::cout<<strMd5<<std::endl;

return 0;

}
4.菜单→"项目"→"属性",根据不同的运行库,进行设置:

附加包含目录:"D:\OpenSSL-Win32\include"

附加库目录:"D:\OpenSSL-Win32\lib\VC"

运行时库 附加依赖项

多线程(/MT) libeay32MT.lib ssleay32MT.lib

多线程调试(/MTd) libeay32MTd.lib ssleay32MTd.lib

多线程 DLL (/MD) libeay32MDd.lib ssleay32MDd.lib

多线程调试 DLL (/MDd) libeay32MD.lib ssleay32MD.lib
5.若是要静态链接,则将附加库目录设置为:"D:\OpenSSL-Win32\lib\VC\static",附加依赖项再添加如下:

User32.lib

Advapi32.lib

Gdi32.lib

Ws2_32.lib

Crypt32.lib

以上根据使用到OpenSSL的具体功能,而进行添加。

6.运行如下图所示:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: