Windows中编译OpenSSL(VS中实现)

发布时间 2023-03-22 21:09:18作者: B1smarck

下载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文件夹下,省略会安装在默认路径下

最后

配置环境变量

image-20230321100956868

首先安装openssl

image-20230321100648602

image-20230321100814490

主机python调用Openssl

image-20230321101236892

image-20230321101256547

部署C文件

image-20230321103606569

#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;
}

image-20230321105305181