【MD5加密】

news2024/11/15 19:51:58

MD5加密

  • 什么是MD5密码
  • MD5用途
  • MD5特点
  • MD5加密
  • MD5解密
  • 总结
      • 那我们上面也已经提到啦,说MD5是可以进行解密或者说他是可以泄露密码等,所以我们还可以使用以下方法进行再次加密
    • 第一种:MD5+固定盐值
    • 第二种:MD5+随机盐值

什么是MD5密码

官方一点来讲的话就是一种数字摘要,它可以将任意长度的字符串转换成128位的散列值,也就是16字节的数字。被大众认为是使用最广泛的密码散列函数
通俗点来讲的话就是因为它可以产出128位(16字节)的散列值,用于确保信息传输完整一致

MD5用途

  • 用途最多的地方就是用户密码的加密【将用户输入的明文密码转换成一个128位的散列值,这个散列值可以用来验证用户输入的密码是不是正确的密码,从而不必将用户的密码铭文存储在服务器上,进而保护用户的密码安全】

  • 还有一个用途就是将文件完整性进行检查【检查文件是否被篡改】

MD5特点

  • 压缩性:无论数据多长,计算出来的MD5值长度相同。
  • 容易计算性:由原数据计算得出MD5值
  • 抗修改性:即使修改一个字节,激素拿出来的MD5值也会有巨大的差异
  • 抗碰撞性:知道数据和MD5 值,很小概率找到同样的MD5值相同的原数据

MD5加密

不可逆
在这里插入图片描述
以下是一个加密逻辑,那加密用到的是这个逻辑解密也肯定是喽,解密也是可以看这张图片的哦
在这里插入图片描述
md5中两个不同的明文加密得到相同的密文的几率是极低的,所以可以用以上逻辑判断

MD5解密

众所周知MD5它是一种不可逆的加密方式,所以不能解密,但是我们可以通过以下两种方法进行解密。

第一种:穷举法来进行解密。那么什么是穷举法嘞?它就是将所有可能的明文密码进行计算,并和加密后的密文进行一个对比,如果相等则表示找到了正确的密码,否则继续穷举。那又由于MD5密码长度是128位,所以穷举法非常耗时,而且有可能永远找不到正确的密码。
第二种:使用在线解密工具,这种工具可以将MD5密码提交到一个在线的数据库,然后这个数据库会把我们提交的MD5密码和它的库中的密码进行对比,如果有相同的,就可以获取到正确的密码啦。
那就简单的举一个例子吧:
第一步:找到以下网站

网站链接:MD5

第二步:进行注册·登录
在这里插入图片描述
第三步:登录完成之后就要输入你要解的密文,以下是我的密文示例
点击输入验证码 然后进行查询即可
在这里插入图片描述
当然这种方法也有局限性,只能解密出已经被解密过的MD5密码,而不能解密出新的MD5密码哦

总结

MD5的碰撞性,决定了存在两个不同的输入信息
因为MD5有相同的可能,所以不适用于安全性的认证

那我们上面也已经提到啦,说MD5是可以进行解密或者说他是可以泄露密码等,所以我们还可以使用以下方法进行再次加密

第一种:MD5+固定盐值

它是对于原来的明文拼接的字符串再一次的进行加密,如果这个字符串不泄露,那么密文就是安全的
在这里插入图片描述
将用户输入的密码按照相同的方法进行加盐值+加密,然后进行对比存储的密码是否是相同的就可以啦
那这样做也是有缺点存在的只要我们的固定盐值丢失啦,那么也就意味着密码被破解啦,也就相当于是先攻破盐值,然后进行对MD5加密的密码再进行破解,逐一攻破那也就相当于是Game Over┗|`O′|┛ 嗷~~

第二种:MD5+随机盐值

他就是给我们每一个用户的盐值都是不同的,那么不法分子是不是就没有办法进行破解全部。具体过程的话是这样的:【每当破解一个用户的密码,都需要按盐值进行巴黎怕【跑加密,直到找到密码,这会消耗大量的时间】
这其实就是相当于是拖延时间啦,但是好处还是有的,每一个用户的盐值都是不通过的,不会破解之后,丢失全部用户的密码,并且需要大量的时间来进行破解
在这里插入图片描述
以上这一篇就是我对于MD5加密的一个简单的了解,希望大家可以多多指教吖🤭

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

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

相关文章

基于Jenkins构建生产CICD环境(第二篇)

基于Jenkins自动打包并部署Tomcat环境 传统网站部署的流程 在运维过程中,网站部署是运维的工作之一。传统的网站部署的流程大致分为:需求分 析-->原型设计-->开发代码-->提交代码-->内网部署-->内网测试-->确认上线-->备份数据-->外网更新…

echarts 甘特图一组显示多组数据

<template><el-button type"primary" click"addlin">添加线</el-button><el-button type"success" click"addArea">添加区域</el-button><div ref"echart" id"echart" class&qu…

用友T3 T6 服务无法启动 windows10 11等操作系统 T3服务没有开启

windows 10 11 等高版本操作系统故障。 于2023-08-23日大量爆发。。 导致原因&#xff0c;windows操作系统根证书颁发机构吊销或已到期。 正版软件请打11.2最新补丁即可解决。 如果是老版本需要修复证书才可以。

阿里云机器学习PAI全新推出特征平台 (Feature Store),助力AI建模场景特征数据高效利用

推荐算法与系统在全球范围内已得到广泛应用&#xff0c;为用户提供了更个性化和智能化的产品推荐体验。在推荐系统领域&#xff0c;AI建模中特征数据的复用、一致性等问题严重影响了建模效率。阿里云机器学习平台 PAI 推出特征平台&#xff08;PAI-FeatureStore&#xff09; 。…

通过IP地址如何防范钓鱼网站诈骗?

随着互联网的普及和发展&#xff0c;钓鱼网站诈骗的风险日益增加。钓鱼网站通过伪装成合法网站&#xff0c;诱导用户输入个人敏感信息进而进行非法活动。IP地址作为网络通信的基本单位&#xff0c;可以在一定程度上帮助我们防范钓鱼网站诈骗。本文将探讨IP地址防范钓鱼网站诈骗…

错过这5大AI绘画提示词平台,你会拍大腿!别问,直接收藏!

如今&#xff0c;AI绘画已经不再是简单的技术展示&#xff0c;而是逐渐转向了商业化的运营。 有的人利用AI生成的图片&#xff0c;再结合ChatGPT产生的文字&#xff0c;然后在平台上发布&#xff0c;这样就可以赚取平台的广告费。 其他一些变现操作参考之前的文章&#xff1a;…

不同版本NodeJS切换使用

问题&#xff1a;有时候两个项目同时进行&#xff0c;用的nodejs版本不同&#xff0c;这时候需要来回切换nodejs版本&#xff0c;怎么办呢&#xff1f; 1、下载安装node版本管理器nvm 下载地址 2、检查是否安装好 3、设置nvm淘宝镜像 nvm node_mirror https://npm.taobao.o…

POI groupRow 折叠分组,折叠部分不显示问题

折叠组是什么&#xff1f;如图就是用POI 实现的&#xff0c;代码很简单&#xff1a;sheet.groupRow(开始行&#xff0c;结束行)即可 但是万万没想到&#xff0c;最终实现出的结果&#xff0c;合并的组&#xff0c;有一部分并没有渲染出来&#xff0c;如下图&#xff1a; 因为我…

Postman测WebSocket接口

01、WebSocket 简介 WebSocket是一种在单个TCP连接上进行全双工通信的协议。 WebSocket使得客户端和服务器之间的数据交换变得更加简单&#xff0c;允许服务端主动向客户端推送数据。在WebSocket API中&#xff0c;浏览器和服务器只需要完成一次握手&#xff0c;两者之间就直…

【python】Leetcode(primer-dict-list)

文章目录 260. 只出现一次的数字 III&#xff08;字典 / 位运算&#xff09;136. 只出现一次的数字&#xff08;字典&#xff09;137. 只出现一次的数字 II&#xff08;字典&#xff09;169. 求众数&#xff08;字典&#xff09;229. 求众数 II&#xff08;字典&#xff09;200…

C语言编写图形界面 | 移动小球示例

文章目录 其他文章最终结果设计过程定义小球的属性窗口过程函数绘制小球空格回弹小球碰壁 完整代码 其他文章 部分知识可以查看如下文章&#xff1a; C语言编写注册窗口 最终结果 先放一下本篇文章最终结果展示图吧&#xff0c;如图&#xff0c;一个绿色的小球&#xff0c;在…

《数字图像处理-OpenCV/Python》连载(2)目录

《数字图像处理-OpenCV/Python》连载&#xff08;2&#xff09;目录 本书京东优惠购书链接&#xff1a;https://item.jd.com/14098452.html 本书CSDN独家连载专栏&#xff1a;https://blog.csdn.net/youcans/category_12418787.html 第一部分 OpenCV-Python的基本操作 第1章 …

一篇搞懂浏览器的工作原理(万字详解)

摘要 本文是学习极客时间上的课程&#xff0c;进而整理出的浏览器工作原理。 第一部分&#xff1a;浏览器的进程和线程 &#xff08;1&#xff09;进程和线程的区别&#xff1f; 在浏览器中&#xff0c;各个进程负责处理自己的事情&#xff0c;而不同的进程中&#xff0c;也…

Android多线程开发核心知识点

什么是线程并发安全 线程安全的本质是能够让并发线程&#xff0c;有序的运行(这个有序可能是先来后到的排队&#xff0c;有可能有人插队&#xff0c;但是不管怎么着&#xff0c;同一时刻只能一个线程有权访问同步资源)&#xff0c;线程执行的结果&#xff0c;能够对其他线程可…

C语言实例_数据压缩与解压

一、压缩与解压介绍 数据压缩是通过一系列的算法和技术将原始数据转换为更紧凑的表示形式&#xff0c;以减少数据占用的存储空间。数据解压缩则是将压缩后的数据恢复到原始的表示形式。 数据可以被压缩打包并减少空间占用的原因有以下几个方面&#xff1a; &#xff08;1&am…

Python支持下Noah-MP陆面模式站点、区域模拟及可视化分析

熟悉陆表过程的主要研究内容以及陆面模型在生态水文研究中的地位和作用&#xff1b;深入理解Noah-MP 5.0模型的原理&#xff0c;掌握Noah-MP模型&#xff08;2023年最新发布的5.0版本&#xff09;所需的系统环境与编译环境的搭建方法及模型实践运行&#xff0c;熟悉linux系统操…

高忆管理大盘行情:美股开盘时间?

股票商场是一个充满生机的环境&#xff0c;而美股作为全球最具生机和最具影响力的股票商场之一&#xff0c;被投资者和买卖员广泛关注。美股开盘时刻是众多投资者和买卖员最为关心的问题之一&#xff0c;由于不同的买卖时刻会对在商场中进行投资产生重要影响。那么&#xff0c;…

虹科分享 | 如何构建深度防御层 | 自动移动目标防御

在当今的威胁环境中&#xff0c;多层纵深防御是安全团队获得安心的唯一方法之一。 为什么?有两个原因: 1、攻击面越来越大 随着DevOps等远程工作和数字化转型项目的兴起&#xff0c;攻击面已经超出了大多数安全团队的定义能力。创建一个完全安全的网络边界是不可能的。正如…

计算机视觉-图形处理基础

一、环境安装 1、anaconda安装 官网下载&#xff1a;Free Download | Anaconda 2、打开anaconda prompt测试是否安装成功 输入conda env list命令显示虚拟环境清单即可 二、创建开发虚拟环境 1、创建python3.8虚拟环境 conda create --name demo_py3.8 python3.8 2、激…

ubuntu18 编译ROS代码 报“cxx_attribute_deprecated”is not know to CXX compiler

编译代码报错如下&#xff1a; 通常用两种解决方式&#xff1a; 1&#xff1a;先检查一下 编写的CMakeList.txt的文件中&#xff0c;所包含、链接的文件和库是否都存在且引用正确&#xff08;仔细的查看了一下&#xff0c;都是正确的&#xff09; 2&#xff1a;查看一下cmake…