“.NET研究”在VS2010项目中引用Lib静态库(以Openssl为例)-阿里云开发者社区

开发者社区> 狼人2007> 正文

“.NET研究”在VS2010项目中引用Lib静态库(以Openssl为例)

简介:   Openssl是个为网络通信提供安全及数据完整性的一种安全协议,囊括了主要的密码算法、常用的密钥和证书封装管理功能以及SSL协议,并提供了丰富的应用程序供测试或其它目的使用。   首先下载Openssl包:(http://www.
+关注继续查看

  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="brush: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

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
在Windows系统中用nginx与mono搭建asp.net运行环境,附详细例图与代码
一、下载nginx安装包和mono安装包 下载Nginx:到Nginx下载对应的版本 下载Mono对应平台:下载 Mono   二、安装配置 解压nginx到C:盘 打开C:\nginx\conf\nginx.
1157 0
Maven项目中无法找到 xml文件或 properties文件等配置文件的解决方法
在初次使用 Maven 项目的时候总是会遇到一些比较奇异的问题 就比如说总是会报错:项目里的 **.xml 或 **.properties 配置文件无法找到 这时你去项目中的 classes 生成文件(target 或 out)中找,确实这些配置文件没有被编译 这是因为 ...
1373 0
解读OpenMessaging开源项目,阿里巴巴发起首个分布式消息领域的国际标准
OpenMessaging项目由阿里巴巴发起,与雅虎、滴滴出行、Streamlio公司共同参与创立,项目意在创立厂商无关、平台无关的分布式消息及流处理领域的应用开发标准。据发起人介绍,随着标准的不断演进,会有更多的互联网、云计算厂商参与到该项目以及生态体系中来。
11016 0
asp.net 生成静态页面的简单例子
Asp.net生成静态文件示例源码(两种途径) Asp.net生成静态文件(根据时间自动命名保持,默认扩展名是htm可以自行修改)。 通过收入内容替换模板或者url地址两种方式进行静态文件的生成 templete.
707 0
怎么设置阿里云服务器安全组?阿里云安全组规则详细解说
阿里云服务器安全组设置规则分享,阿里云服务器安全组如何放行端口设置教程
7250 0
C# 报错 “非静态的字段、方法或属性 要求对象引用”
1、出错代码及现场 class Program { int i = 123; static string s = "Some string"; static object o = s; static void Main(string[] ...
1621 0
+关注
狼人2007
个人对技术的追求:代码少而精捍;思路清晰美观;可扩展好维护;技术驱动商业; 人生格言:只要你有信念,有追求,并且坚持,那你一定比随波逐流,行得远行得正...
3528
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
文娱运维技术
立即下载
《SaaS模式云原生数据仓库应用场景实践》
立即下载
《看见新力量:二》电子书
立即下载