C语言[转]在VS20十 VC++项目中援引Lib静态库(以Openssl为例)

正文转自:http://kb.cnblogs.com/page/94467/

Openssl是个为互连网通信提供安全及数据完整性的一种安全磋商,囊括了根本的密码算法、常用的密钥和申明封装管理功效以及SSL协议,并提供了丰裕的应用程序供测试或任何目标选用。

  首先下载Openssl包:(http://www.openssl.org/),这是贰个C语言类库包,在Windows下得以透过Perl对此类库包举行MakeBuild,发生libeay3二、ssleay32的Lib以及Dll文件,具体操作详见:http://blogger.org.cn/blog/more.asp?name=OpenSSL&id=18972,通过编写翻译爆发这么壹密密麻麻文件:

C语言 1

  inc3贰里头放置C语言头文件。

  一.
现行反革命自个儿要在VS20十的工程项目中行使到它,首先作者要创制三个VC++.NET的类型,笔者那里开创了三个MFC应用程序:

C语言 2

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

C语言 3

  找到多个目录选项:

C语言 4

  在那之中富含目录指向你的Openssl的头文件的目录,库目录指向您的Lib、Dll所在的目录。
C语言 5

C语言 6

  从那里新建目录来针对辅导的目录:

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

C语言 7

  在“附加信赖项”中,参加四个Lib文件:

C语言 8

  那样就到位了静态库的引用。

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

  #include <openssl/sha.h>

  方法呈现:

?

1
2
3
4
5
6
7
8
9
10
11
12
13
14
// SHA256算法字符串加密
void sha256(char* string, char outputBuffer[64])
{
    unsigned char hash[SHA256_DIGEST_LENGTH];
    SHA256_CTX sha256;
    SHA256_Init(&sha256);
    SHA256_Update(&sha256, string, strlen(string));
    SHA256_Final(hash, &sha256);
    int i = 0;
    for(i = 0; i < SHA256_DIGEST_LENGTH; i++)
    {
        sprintf(outputBuffer + (i * 2), "%02x", hash[i]);
    }
}

  调用:

?

1
2
static unsigned char buffer[64];
sha256(signature, (char*)buffer);

  由于Openssl包须要利用Perl进行编写翻译形成Lib以及Dll文件,那里自个儿附淑节经创设好的文本,方便大家利用!

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