HASH 哈希算法之MD5 算法

1. 哈希算法,用C++ 写的

#include <iostream>
#include <iomanip>
#include <cstring>
#include <openssl/md5.h>
#include <stdio.h>using namespace std;int main()
{string str = "hello world";unsigned char digest[MD5_DIGEST_LENGTH];memset(digest, 0, sizeof(digest));MD5((const unsigned char*) str.c_str(), str.length(), digest);string md5_str = "";char buf[3] = {0};for (int i = 0; i < MD5_DIGEST_LENGTH; i++){sprintf(buf, "%02x", digest[i]);md5_str += buf;}cout << md5_str << endl;return 0;
}

2. 编译

alfred@ubuntu:~/c_learning/d_cplusplus_learning$ g++ hash_md5.cpp -o hash_md5 -lssl -lcrypto

3. 修改不同的输入,会产生一个对应的输出结果

每个str 字符串都有一个唯一的哈希值,可以用来登录服务器的密码,在服务器上保存你算出来的哈希值,而不是保存你真正的密码,这样就算你把服务器给黑了,你也不知道我真正的密码是多少(貌似可以暴力破解)

string str = "hello world";

4. 运行算法,得出哈希值

这是用hello world 计算出来的哈希值

alfred@ubuntu:~/c_learning/d_cplusplus_learning$ ./hash_md5 
e10adc3949ba59abbe56e057f20f883e

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

最常见的直流负载工作方式

直流负载工作方式是指在电力系统中&#xff0c;直流电源为负载提供电能的方式。在实际应用中&#xff0c;直流负载工作方式有很多种。 直接供电方式&#xff1a;这是最简单的直流负载工作方式&#xff0c;即直流电源直接为负载提供电能。这种方式适用于负载较小、对电源稳定性要…

都在卷,你今天卷了吗?带给你一个python 拦截利器,不用是你的损失

本文是一个较为完整的 mitmproxy 教程&#xff0c;侧重于介绍如何开发拦截脚本&#xff0c;帮助读者能够快速得到一个自定义的代理工具。 本文假设读者有基本的 python 知识&#xff0c;且已经安装好了一个 python 3 开发环境。如果你对 nodejs 的熟悉程度大于对 python&#…

【前端设计模式】之工厂模式

工厂模式特性 工厂模式是一种创建对象的设计模式&#xff0c;它通过使用工厂类来封装对象的创建逻辑&#xff0c;隐藏了具体对象的实例化过程。工厂模式的主要特性包括&#xff1a; 封装对象的创建过程&#xff1a;工厂模式将对象的创建过程封装在一个工厂类中&#xff0c;客…

API接口使用方法(封装好的电商平台)

为了进行此平台API的调用&#xff0c;首先我们需要做下面几件事情。 1、 获取一个KEY。 点击获取 2、 参考API文档里的接入方式和示例。 3、查看测试工具是否有需要的接口&#xff0c;响应实例的返回字段是否符合参数要求。 4、利用平台的文档中心和API测试工具&#xff0c…

MATLAB - 绘制立体图(平面+水深)

目录 代码结果 代码 % 在 X-Y 平面上绘图 % 正常绘制平面图 [X,Y,Z] peaks; contour(X,Y,Z,20); hold on% ****重点******************************************** % 改为三维视图&#xff0c;具体可以help % view(3); %此时的平面图对应z0 &#xff1b;默认az-37.5&#x…

网工学习9-STP配置(二)

如图 1 所示&#xff0c;当前网络中存在环路&#xff0c; SwitchA 、SwitchB 、SwitchC 和 SwitchD 都运行 STP&#xff0c;通过 彼此交互信息发现网络中的环路&#xff0c;并有选择的对某个端口进行阻塞&#xff0c;最终将环形网络结构修剪成无 环路的树形网络结构&#xff…

python实现pdf转word、word转pdf

我的博客 文章首发于公众号&#xff1a;小肖学数据分析 Python自动化办公通常对常用的办公软件文档格式进行操作&#xff0c;比如Word和PDF。 很多软件都需要付费&#xff0c;作为程序员&#xff0c;怎么可能付费。 下面是一个简单示例&#xff0c;如何在Python中将Word文档…

最新站群系统 万词霸屏一键搭建模式不同类型站点站群

站群系统是一种用于管理和运营多个网站的软件系统。最新的站群系统具备以下特点&#xff1a; 自动化运营&#xff1a;最新的站群系统可以实现自动化运营&#xff0c;包括自动发布文章、自动更新内容、自动优化网站等&#xff0c;大大提高了管理效率。下载地址&#xff1a;wanzh…

使用Echarts.js绘制环形图(指定触发高亮事件)

一、页面效果 默认tab为不限&#xff0c;正常渲染所有数据&#xff1a; 数据图形hover时&#xff0c;弹框展示相关信息&#xff1a; 切换tab时&#xff0c;高亮放大突出对应数据项的图形区域&#xff0c;并降低其他图形区域的透明度&#xff1a; 二、功能描述 1、tab选中不限…

2024年江苏省职业院校技能大赛 信息安全管理与评估 第二阶段教师组 (样卷)

2024年江苏省职业院校技能大赛 信息安全管理与评估 第二阶段教师组 (样卷) 项目竞赛样题 本文件为信息安全管理与评估项目竞赛-第二阶段样题&#xff0c;内容包括&#xff1a;网络安全事件响应、数字取证调查、应用程序安全。 本次比赛时间为180分钟。 介绍 GeekSec专注技能竞…

fastapi.templating与HTMLResponse

要声明一个模板对象&#xff0c;应将存储html模板的文件夹作为参数提供。在当前工作目录中&#xff0c;我们将创建一个 “templates “目录。 templates Jinja2Templates(directory“templates”) 我们现在要把这个页面的HTML代码渲染成HTMLResponse。让我们修改一下hello()函…

Python:pip镜像源

pip 镜像文件是将Python包的源代码及其依赖项编译后生成的文件&#xff0c;它包含了Python包的所有功能。通过安装pip镜像文件&#xff0c;您可以在没有互联网连接的环境中快速安装和管理Python包。 以下是在中国大陆使用较快的pip镜像源&#xff1a; 1. 清华大学&#xff1a;…

Linux 存储管理

内容概述 磁盘结构分区类型管理分区管理文件系统挂载设备管理swap空间&#xff08;用来缓解内存空间不足情况&#xff09;RAID 管理LVM管理LVM快照 1 磁盘结构 1.1 设备文件 块设备文件&#xff1a;数据的访问单位是块Block&#xff0c;一个块的IO 字符设备文件&#xff1a…

台灯应该买什么样的才能护眼?学生护眼必备护眼台灯推荐

10月26日&#xff0c;教育部召开新闻发布会&#xff0c;介绍综合防控儿童青少年近视工作情况。全国综合防控儿童青少年近视工作联席会议机制办公室主任、教育部体育卫生与艺术教育司司长王登峰介绍&#xff0c;2018年全国儿童青少年的总体近视率53.6%&#xff0c;2019年总体近视…

OpenAI王座的有力竞争者:Google 发布最强 AI 大模型 Gemini,能力超过GPT-4!

当地时间 12 月 6 日&#xff0c;Google CEO 桑达尔・皮查伊&#xff08;Sundar Pichai&#xff09;官宣 Gemini 1.0 版正式上线。据介绍&#xff0c;这是 AI 模型的巨大飞跃&#xff0c;最终将影响几乎所有的 Google 产品。 Gemini 大模型包括三种量级&#xff1a;能力最强的 …

【LeetCode】2621. 睡眠函数

睡眠函数 Promise异步 题目题解 题目 请你编写一个异步函数&#xff0c;它接收一个正整数参数 millis &#xff0c;并休眠 millis 毫秒。要求此函数可以解析任何值。 示例 1&#xff1a; 输入&#xff1a;millis 100 输出&#xff1a;100 解释&#xff1a; 在 100ms 后此异步…

使用Java网络编程,窗口,线程,IO,内部类等实现多人在线聊天1.0

1.整体思路 思路图 整体思路如上: 涉及知识点:线程网络编程集合IO等 TCP 协议 2.代码实现过程 服务端 import javax.swing.*; import java.awt.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.KeyAdapter; import jav…

echart显示单个折线,其他折线隐藏

一开始去官方找文档。以为是series控制的&#xff0c;其实不是。 echart是通过legend控制哪个图显示和隐藏。 代码&#xff1a; legend: {show: true,left: center,selected: {折线1: true,折线2: false,折线3: false,}}, 配合series里面的name属性。控制折线的显示 serie…

Python---面向对象的综合案例

案例1&#xff1a;定义学员信息类&#xff0c;包含姓名、成绩属性&#xff0c;定义成绩打印方法&#xff08;90分及以上显示优秀&#xff0c;80分及以上显示良好&#xff0c;70分及以上显示中等&#xff0c;60分及以上显示合格&#xff0c;60分以下显示不及格&#xff09; 学员…

FPGA主芯片选型

硬件资源是器件选型的重要标准。 硬件资源包括逻辑资源、I &#xff0f; O 资源、布线资源、DSP 资源、存储器资源、锁相环资源、串行收发器资源和硬核微处理器资源等。 第一步&#xff1a;选定器件特色&#xff08;重点关注FPGA的专用资源&#xff09; 1、高速BANK的引脚 ①…