openssl-1.0.2o.tar.gz 使用

已经整好的头文件和库下载资源: https://download.csdn.net/download/ljt350740378/10967124

谢谢 https://blog.csdn.net/u010725842/article/details/50295235

解压:

如下图所示:openssl-1.0.2o.tar.gz 使用_第1张图片

主要是根据:

openssl-1.0.2o.tar.gz 使用_第2张图片

openssl-1.0.2o.tar.gz 使用_第3张图片

其中 openssl-1.0.2o.tar.gz 使用_第4张图片

其中 nt.mak 为静态生成库,ntdll.mak 为动态生成库。

本例中为静态生成库。

 nt.mak中有生成的结果的一些说明:

openssl-1.0.2o.tar.gz 使用_第5张图片

下面执行:

> perl Configure VC-WIN64A
 > ms\do_win64a
 > nmake -f ms\ntdll.mak
 > cd out32dll

其中会出现如下中的错误:

openssl-1.0.2o.tar.gz 使用_第6张图片

目前 我的解决方式就更改代码中的头文件路径 ,如下图所示:

openssl-1.0.2o.tar.gz 使用_第7张图片

编译完成后,下面是对其进行调用。

调用代码如下所示:

openssl-1.0.2o.tar.gz 使用_第8张图片

openssl-1.0.2o.tar.gz 使用_第9张图片

下面是代码:来自:https://blog.csdn.net/xunmeng2002/article/details/82385004

// test_openssl.cpp : 定义控制台应用程序的入口点。
//

#include "stdafx.h"
#include 
using namespace std;
#include 

int md5_encrypt(const void* data, size_t len, unsigned char* md5)
{
	if (data == NULL || len <= 0 || md5 == NULL) {
		printf("Input param invalid!\n");
		return -1;
	}
	MD5_CTX ctx;
	MD5_Init(&ctx);
	MD5_Update(&ctx, data, len);
	MD5_Final(md5, &ctx);

	return 0;
}

int _tmain(int argc, _TCHAR* argv[])
{
	char data[20] = "abcdefg";
	size_t len = 20;
	char md5[20] = { 0 };

	int iret = md5_encrypt((const void*)data, len, (unsigned char*)md5);
	cout << data << endl;
	cout << md5 << endl;
	getchar();
	return 0;
}

结果如下:

你可能感兴趣的:(openssl-1.0.2o.tar.gz 使用)