openssl编程

下载openssl编译好后得到lib,dll,源文件等;

添加opensll入构建路径:工具->选项->目录:include file和library file路径

在vc添加 libeay32.lib:工程->设置->连接:添加libeay32.lib

然后编译运行:

#define _CRT_SECURE_NO_WARNINGS 1

#include <stdio.h>
#include <string.h>
#include <windows.h>
#include <openssl/evp.h>

#pragma comment(lib,"libeay32MD.lib")
#pragma comment(lib,"ssleay32MD.lib")


int my_md5(char* data,char* result){

    unsigned char md_value[EVP_MAX_MD_SIZE];
    unsigned int i,md_len;
    EVP_MD_CTX mdctx;
    EVP_MD_CTX_init(&mdctx);
    EVP_DigestInit_ex(&mdctx,EVP_md5(),NULL);
    EVP_DigestUpdate(&mdctx,data,strlen(data));
    EVP_DigestFinal_ex(&mdctx,md_value,&md_len);
    EVP_MD_CTX_cleanup(&mdctx);
    char temp[EVP_MAX_MD_SIZE];
    for(i=0;i<md_len;i++){

        sprintf(temp,"%02x",md_value[i]);
        strcat(result,temp);
    }
    return md_len;
}
//md5.exe  "明文"  -count 5
int main(int argc,char *argv[]){
    int count=1;
    if(argc<2){

        printf("Usage:md5.exe <-data> <-count argv>\n");
        return 0;
    }
	char reuslt[1024] = {0};
	int md_len = my_md5(argv[1], reuslt);
 
	printf("%s", reuslt);
    return 0;
}

TEMPLATE = app
CONFIG += console
CONFIG -= app_bundle
CONFIG -= qt

SOURCES += main.c

LIBS+=kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib


win32: LIBS += -L$$PWD/../openssl-vs2013/lib64/ -llibeay32MTd

INCLUDEPATH += $$PWD/../openssl-vs2013/include64
DEPENDPATH += $$PWD/../openssl-vs2013/include64

win32: LIBS += -L$$PWD/../openssl-vs2013/lib64/ -lssleay32MTd

INCLUDEPATH += $$PWD/../openssl-vs2013/lib64
DEPENDPATH += $$PWD/../openssl-vs2013/lib64



附上 vs2010编译openssl方法:

1.下载 OpenSSL http://www.openssl.org/,并解压到d:\openssl-1.0.1e目录(也可自己指定路径和目录名称)

2.下载 from http://www.activestate.com/ActivePer,并安装,并在环境变量中添加path=d:\perl\bin(d:\perl为perl的安装路径)

3.建一个存放opensll库文件的目录,此处指定为d:\openssl_lib

4.打开2010控制台:开始-所有程序—Microsoft visual studio2010——Visual Studio Tools——Visual Studio 2010命令提示

5.进入opensll源代码目录路径

 cd  d:\openssl-1.0.1e

6.按顺序执行下列命令

 d:\openssl-1.0.1e> perl Configure VC-WIN32 no-asm --prefix=d:\openssl_lib (存放编译后的库文文件目录)

  d:\openssl-1.0.1e> ms\do_ms

  d:\openssl-1.0.1e> nmake -f ms\ntdll.mak (编译动态库)(约5分钟左右)

  d:\openssl-1.0.1e> nmake -f ms\nt.mak   (编译静态库)

7.装载openssl到指定的目录d:\opensll_lib中

 d:\openssl-1.0.1e> nmake -f ms\ntdll.mak install

 d:\openssl-1.0.1e> nmake -f ms\nt.mak install

完成编译

二.在vs2010中使用openssl

二、使用OpenSSL

 1.新建一个工程。

  2.设置目录参数

 右击工程名——属性——

1)配置属性——VC++目录——在include目录中新增"d:\openssl_lib\include"(存放编译后的库文件的目录中);

2)VC++目录——"Library files"选择中新增目录"d:\openssl_lib\lib"。

3)配置属性——链接器——输入——附加依赖项——libeay32.lib 和ssleay32.lib即可

参考文献:

1.openssl-1.0.1e/ms/install.W32

2.http://blog.csdn.net/xhydra/article/details/12517135

3.http://www.cppblog.com/everett/archive/2012/07/13/183072.html

http://blog.163.com/xiaoting_hu/blog/static/50464772201310415042524/
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值