已经整好的头文件和库下载资源: https://download.csdn.net/download/ljt350740378/10967124
谢谢 https://blog.csdn.net/u010725842/article/details/50295235
解压:
如下图所示:
主要是根据:
其中
其中 nt.mak 为静态生成库,ntdll.mak 为动态生成库。
本例中为静态生成库。
nt.mak中有生成的结果的一些说明:
下面执行:
> perl Configure VC-WIN64A
> ms\do_win64a
> nmake -f ms\ntdll.mak
> cd out32dll
其中会出现如下中的错误:
目前 我的解决方式就更改代码中的头文件路径 ,如下图所示:
编译完成后,下面是对其进行调用。
调用代码如下所示:
下面是代码:来自:https://blog.csdn.net/xunmeng2002/article/details/82385004
// test_openssl.cpp : 定义控制台应用程序的入口点。
//
#include "stdafx.h"
#include <iostream>
using namespace std;
#include <openssl\md5.h>
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;
}
结果如下: