好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

在VS2010项目中引用Lib静态库(以Openssl为例)

在VS2010项目中引用Lib静态库(以Openssl为例)

Openssl是个为网络通信提供安全及数据完整性的一种安全协议,囊括了主要的密码算法、常用的密钥和证书封装管理功能以及SSL协议,并提供了丰富的应用程序供测试或其它目的使用。首先下载Openssl包:( http://www.openssl.org/ ),这是一个C语言类库包,在Windows下可以通过Perl对该类库包进行MakeBuild,产生libeay32、ssleay32的Lib以及Dll文件,具体操作详见: http://blogger.org.cn/blog/more.asp?name=OpenSSL&id=18972 ,通过编译产生这样一系列文件:

inc32里面放置C语言头文件。

1. 现在我要在VS2010的工程项目中使用到它,首先我要创建一个VC++.NET的项目,我这里创建了一个MFC应用程序:

在项目名称中点击“右键”,选择“属性”,从里面找到“VC++目录”:

找到两个目录选项:

其中包含目录指向你的Openssl的头文件的目录,库目录指向你的Lib、Dll所在的目录。 

从这里新建目录来指向引导的目录:

然后切换到“链接器”-> “输入”:

在“附加依赖项”中,加入两个Lib文件:

这样就完成了静态库的引用。

2. 现在看下项目中怎么引用它(以SHA256算法为例):

#include <openssl/sha.h>

方法展示: 

01 // SHA256算法字符串加密

02 void   sha256( char * string,  char   outputBuffer[64])

03 {

04      unsigned  char   hash[SHA256_DIGEST_LENGTH];

05      SHA256_CTX sha256;

06      SHA256_Init(&sha256);

07      SHA256_Update(&sha256, string,  strlen (string));

08      SHA256_Final(hash, &sha256);

09      int   i = 0;

10      for (i = 0; i < SHA256_DIGEST_LENGTH; i++)

11      {

12          sprintf (outputBuffer + (i * 2),  "%02x" , hash[i]);

13      }

14 }

调用:

1 static   unsigned  char   buffer[64];

2 sha256(signature, ( char *)buffer);

由于Openssl包需要利用Perl进行编译形成Lib以及Dll文件,这里我附上已经制作好的文件,方便大家使用!

Openssl最新版openssl-1.0.0d的Windows执行包下载: openssl_out32dll.rar

作者: Leepy

 

邮箱:sunleepy(AT)gmail.com

 

出处: http://liping13599168.cnblogs.com/  

本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文链接,否则保留追究法律责任的权利。

作者: Leo_wl

    

出处: http://www.cnblogs.com/Leo_wl/

    

本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

版权信息

查看更多关于在VS2010项目中引用Lib静态库(以Openssl为例)的详细内容...

  阅读:34次