跨平台指南:在 Windows 和 Linux 上安装 OpenSSL 的完整流程

Windows安装

一:找到安装包,双击即可
https://gitee.com/wake-up-again/installation-package.git
请添加图片描述
二:按照提示,一步一步来,就可以啦

请添加图片描述

三:此界面意思是,是否想向创作者捐款,自己视情况而定啦。

请添加图片描述

四:安装完毕之后,接下来就是VS下的环境配置了。 在VS下创建一个新项目,点到属性界面

请添加图片描述

五:找到VC++目录,点击包含目录,点击右边向下的小箭头,会出现 编辑 两个字,点击编辑

请添加图片描述

六:双击空白框,将自己安装到的inlucde目录的路径,拷贝到此

请添加图片描述
请添加图片描述

七:配置库目录 和配置目录操作一样,选中编辑

请添加图片描述
将自己电脑上·的库路径 拷贝到此
请添加图片描述
请添加图片描述

八:添加依赖项 在属性界面,找到链接器,找到输入 ,附加依赖项,一样点击右边向下的箭头,再点击编辑,将libcrypto.lib 和
libssl.lib添加上去即可。

请添加图片描述

九:配置动态库(节选,不配置的话有时候会报错) 将D:\OpenSSL\OpenSSL-Win64\bin目录下的
两个.dll文件拷贝到当前VS创建的目录下。或者配置一下电脑系统的环境变量,将其路径添加进去,重启即可。

请添加图片描述

十:测试

#include<iostream>
#include<openssl/md5.h>//相对刚刚配置的目录路径
#include <stdio.h>
#include <stdlib.h>
#include <string.h>


void md5(const unsigned char* initial_msg, size_t initial_len, unsigned char* digest) {
    MD5_CTX ctx;
    MD5_Init(&ctx);
    MD5_Update(&ctx, initial_msg, initial_len);
    MD5_Final(digest, &ctx);
}

int main(int argc, char** argv) {
    unsigned char digest[MD5_DIGEST_LENGTH];
    char msg[] = "Hello, world!";
    md5((unsigned char*)msg, strlen(msg), digest);
    printf("MD5 Hash: ");
    for (int i = 0; i < MD5_DIGEST_LENGTH; i++) {
        printf("%02x", digest[i]);
    }
    printf("\n");
    return 0;
}

请添加图片描述

linux下

一:解压安装包
请添加图片描述
二:进入到解压出来的目录下
请添加图片描述
运行,ls 会看到一个INSTALL文件,(如果没有INSTALL文件就找README文件)进去会看到安装流程:(一次执行这四部操作即可)
请添加图片描述
输入 openssl version -a 看看是否有提示信息,有则证明安装正确。
请添加图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/426299.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Ubuntu20.04: UE4.27 中 Source Code 的编辑器下拉框没有 Rider选项

问题描述 最近想用 Rider 作为 UE4 开发的 IDE&#xff0c;但安装好 Rider 后&#xff0c;发现编辑器下拉框中没有 Rider 的选项&#xff0c;我检查了 UE4 的插件&#xff0c;发现 Rider Integration 插件已经安装且启用的。 环境&#xff1a;Ubuntu 20.04 UE4.27 Rider2023…

3、Redis Cluster集群运维与核心原理剖析

Redis集群方案比较 哨兵模式 在redis3.0以前的版本要实现集群一般是借助哨兵sentinel工具来监控master节点的状态&#xff0c;如果master节点异常&#xff0c;则会做主从切换&#xff0c;将某一台slave作为master&#xff0c;哨兵的配置略微复杂&#xff0c;并且性能和高可用性…

企业计算机服务器中了360勒索病毒如何解密,360后缀勒索病毒处理流程

对于众多的企业来说&#xff0c;企业的数据是企业发展的核心&#xff0c;越来越多的企业开始注重企业的数据安全问题&#xff0c;但随着网络技术的不断发展与应用&#xff0c;网络黑客的攻击加密手段也在不断升级。近期&#xff0c;云天数据恢复中心接到多家企业的求助&#xf…

【深入理解设计模式】桥接设计模式

桥接设计模式 桥接设计模式是一种结构型设计模式&#xff0c;它旨在将抽象部分与实现部分分离&#xff0c;使它们可以独立变化&#xff0c;从而更好地管理复杂性。桥接模式通常涉及多个层次的抽象&#xff0c;其中一个层次&#xff08;通常称为"抽象"&#xff09;依…

YOLO-World 简单无需标注无需训练直接可以使用的检测模型

参考: https://github.com/AILab-CVC/YOLO-World YOLO-World 常规的label基本不用训练,直接传入图片,然后写入文本label提示既可 案例demo: 1)官方提供 https://huggingface.co/spaces/stevengrove/YOLO-World https://huggingface.co/spaces/SkalskiP/YOLO-World 检测…

javaWebssh在线授课辅导系统myeclipse开发mysql数据库MVC模式java编程计算机网页设计

一、源码特点 java ssh在线授课辅导系统是一套完善的web设计系统&#xff08;系统采用ssh框架进行设计开发&#xff09;&#xff0c;对理解JSP java编程开发语言有帮助&#xff0c;系统具有完整的源代码和数据库&#xff0c;系统主要采用 B/S模式开发。开发环境为TOMCAT7.…

Spring框架学习

Spring&#xff1a; &#xff08;1&#xff09;Bean线程安全问题 &#xff08;2&#xff09;AOP&#xff0c;事务原理&#xff0c;事务失败 &#xff08;3&#xff09;Bean的生命周期 &#xff08;4&#xff09;循环依赖 SpringMVC&#xff1a; &#xff08;1&#xff09…

技术小知识:面向对象和过程的区别 ⑤

一、思想区别 面相对象&#xff1a;始终把所有事情思考归类、抽离封装成对象来调用完成。 面向过程&#xff1a;直接平铺展开按顺序执行完成任务。 面向对象多了很多对象的创建、使用&#xff0c;销毁的过程资源消耗。是一种模块化编程思想。 https://www.cnblogs.com/kuangmen…

为何要使用流媒体服务器

安防系统中&#xff0c;我们偶尔会遇到“流媒体服务器”这个词&#xff0c;那么为什么需要这个服务呢&#xff1f; 视频监控 我们知道&#xff0c;监控摄像机的工作原理就是将自然界的光影&#xff0c;通过摄像机镜头对焦到“靶芯”&#xff08;CMOS&#xff09;&#xff0c;实…

mysql8修改密码

mysql8.0修改密码 windows下忘了MySQL8.0的密码&#xff0c;可以通过以下方式修改。 1、管理员方式打开cmd命令窗口 输入&#xff1a; net stop mysql接着输入&#xff1a; mysqld --console --skip-grant-tables --shared-memory2、管理员方式打开另外一个cmd窗口 输入&…

nvm安装和使用保姆级教程(详细)

一、 nvm是什么 &#xff1a; nvm全英文也叫node.js version management&#xff0c;是一个nodejs的版本管理工具。nvm和npm都是node.js版本管理工具&#xff0c;为了解决node.js各种版本存在不兼容现象可以通过它可以安装和切换不同版本的node.js。 二、卸载之前安装的node: …

c++之通讯录管理系统

1&#xff0c;系统需求 通讯录是一个记录亲人&#xff0c;好友信息的工具 系统中需要实现的功能如下&#xff1a; 1&#xff0c;添加联系人&#xff1a;向通讯录中添加新人&#xff0c;信息包括&#xff08;姓名&#xff0c;性别&#xff0c;年龄&#xff0c;联系电话&#…

基于SpringBoot的企业头条管理系统

文章目录 项目介绍主要功能截图&#xff1a;部分代码展示设计总结项目获取方式 &#x1f345; 作者主页&#xff1a;超级无敌暴龙战士塔塔开 &#x1f345; 简介&#xff1a;Java领域优质创作者&#x1f3c6;、 简历模板、学习资料、面试题库【关注我&#xff0c;都给你】 &…

Libevent的使用及reactor模型

Libevent 是一个用C语言编写的、轻量级的开源高性能事件通知库&#xff0c;主要有以下几个亮点&#xff1a;事件驱动&#xff08; event-driven&#xff09;&#xff0c;高性能;轻量级&#xff0c;专注于网络&#xff0c;不如 ACE 那么臃肿庞大&#xff1b;源代码相当精炼、易读…

深入理解抽象工厂模式:原理、应用与优缺点分析

文章目录 **一、模式原理****二、使用场景****三、为何使用抽象工厂模式**四、代码示例**五、优点与缺点****总结** 一、模式原理 ​ 抽象工厂模式是一种创建型设计模式&#xff0c;其核心思想在于通过抽象工厂接口提供一个创建一系列相关或相互依赖对象的接口&#xff0c;而不…

Rust结构体讲解学习,以及impl结构体方法和结构体关联函数

Rust 中的结构体&#xff08;Struct&#xff09;与元组&#xff08;Tuple&#xff09;都可以将若干个类型不一定相同的数据捆绑在一起形成整体&#xff0c;但结构体的每个成员和其本身都有一个名字&#xff0c;这样访问它成员的时候就不用记住下标了。元组常用于非定义的多值传…

十六、异常和File

异常和File 一、异常1.1异常的分类1.2 异常的作用1.3 异常的处理方式1.3.1 JVM默认的处理方式1.3.2 自己处理&#xff08;捕获异常&#xff09;1.3.3 自己处理&#xff08;灵魂四问&#xff09; 1.4 异常中的常见方法1.5 抛出异常综合练习&#xff08;键盘录入数据&#xff09;…

nginx-图片模块

./configure --with-http_image_filter_module location / {root html;index index.html index.htm;if ($arg_w "") {set $arg_w -;}if ($arg_h "") {set $arg_h -;}image_filter resize $arg_w $arg_h;image_filter_jpeg_quality 95; } 访问: 1234…

xxl-job--02--可视化界面各功能详细介绍

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 可视化界面1 新增执行器2.新增任务**执行器**&#xff1a;**任务描述**&#xff1a;**路由策略**&#xff1a;**Cron**&#xff1a;cron表达式**运行模式**JobHandl…

Python把excel内容保存为图片(非统计图而是纯原表格数据)

一、引入 excel2img 库&#xff0c;没有的话使用 pip install excel2img进行安装 二、采用如下方法进行图片生成 excel文件名为&#xff1a;111.xlsx excel表格里面的sheet名称列表为 [Sheet1, Sheet2] 最终保存为以sheet名称.png的图片 支持跨表格合并项 import excel2i…