zoukankan      html  css  js  c++  java
  • “.NET研究”在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,通过编译产生这样一系列文件:

    image

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

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

    image

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

    image

      找到两个目录选项:

    image

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

    image

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

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

    image

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

    image

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

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

      #include <openssl/sha.h>

      方法展示:

    上海闵行企业网站设计与制作ass="cpp;collapse:false;;gutter:true;">// 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]);
        }
    }

      调用:

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

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

      Openssl最新版openssl-1.0.0d的Windows执行包下载:openssl_out32dll.r上海徐汇企业网站设计与制作ar

    声明:此博有部分内容为转载,版权归原作者所有~
  • 相关阅读:
    如何使用 ADO 将数据从 ADO 数据源传输到 Excel
    C#2.0中的可空类型Nullable
    2007年你必须学习的10项.NET技术
    日期正则表达式
    只允许n个实例进行
    MFC程序隐藏任务栏图标的三种方法
    Qt4小技巧——将button布局在QToolbar的右边
    QT学习随笔20120813
    只允许一个实例,允许n个实例
    折腾的DVCS
  • 原文地址:https://www.cnblogs.com/waw/p/2218099.html
Copyright © 2011-2022 走看看