Windows中编译OpenSSL(VS中实现)
下载openssl 地址(https://github.com/openssl/openssl#download)
打开VS命令行工具这将会设置 nmake.exe、cl.exe 等所需的环境变量。(不建议直接使用cmd命令行)
切换目录至下载的openssl
输入如下命令:
perl Configure VC-WIN64A no-asm --prefix=D:\openssl
VC-WIN64A表示Windows 64位系统,32位系统请换成VC-WIN32,若要使用debug版本,请使用debug-VC-WIN64A或debug-VC-WIN32
no-asm 表示不用汇编,不设置此属性,可能会导致编译不过(建议使用)
–prefix=D:\openssl将其安装到F盘的openssl文件夹下,省略会安装在默认路径下
最后
配置环境变量
首先安装openssl
主机python调用Openssl
部署C文件
#define _CRT_SECURE_NO_WARNINGS
#include<openssl/md5.h>
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
void getMD5(const char* str, char* result)
{
MD5_CTX ctx;
MD5_Init(&ctx);
MD5_Update(&ctx, str, strlen(str));
unsigned char md[MD5_DIGEST_LENGTH] = { 0 };
MD5_Final(md, &ctx);
//转变为16进制
for (int i = 0; i < MD5_DIGEST_LENGTH; ++i)
{
sprintf(&result[i * 2], "%02x", md[i]);
}
}
int main()
{
char result[33] = { 0 };
getMD5("hello, md5", result);
printf("md5 value: %s\n", result);
system("pause");
return 0;
}