网站首页 > 技术文章 正文
md5实际上也是一种哈希算法,它的输出是生成一个128位输出结果。如果输入两个不同的明文,那么就会输出两个不同的输出值,而且根据输出值,不能得到原始的明文,这是一个不可逆的过程。下面说说md5加密原理以及md5有哪些用途,帮助大家更好地了解md5相关的知识。
md5加密原理
md5以512位分组来处理输入的信息,每一分组又被划分为16个32位子分组。经过了一系列的处理后,算法的输出由四个32位分组组成,将这四个32位分组级联后将生成一个128位散列值。
在MD5算法中,首先需要对信息进行填充,填充方法如下:先在信息后面填充一个1,之后就是无数个0,直到使其字节长度对512求余数的结果等于448,即(n*512) + 448 ,为什么要使余数为448呢,因为剩下的512-448 等于64位 是用于表示填充前的信息长度。加上剩下的64位,即(n+1)*512,长度刚刚好是512的整数倍数。
然后就与链接变量进行循环运算,得出结果。MD5中有四个32位被称作链接变量(Chaining Variable)的整数参数,它们分别为:A=0x01234567,B=0x89abcdef,C=0xfedcba98,D=0x76543210。当设置好这四个链接变量后,就开始进入算法的四轮循环运算。
md5如何解密
通过网上免费的md5加密解密平台(md5.cn),用户可以轻松地对md5进行解密。md5解密方法:打开网站后,输入密文(如:f03e8a370aa8dc80f63a6d67401a692ae72fa530),点击查询,等一会即可得到密文。
MD5加密解密平台可以查询很多复杂密文,支持多种算法,实时查询记录超过24万亿条,共占用160T硬盘,成功率95%以上。
md5有以下3个用途
一、防止被篡改
1、比如发送一个电子文档,发送前,先得到md5的输出结果a。然后在对方收到电子文档后,对方也得到一个md5的输出结果b。如果a与b一样就代表中途未被篡改。
2、比如我提供文件下载,为了防止不法分子在安装程序中添加木马,我可以在网站上公布由安装文件得到的md5输出结果。
3、SVN在检测文件是否在CheckOut后被修改过,也是用到了MD5。
二、防止直接看到明文
现在很多网站在数据库存储用户的密码的时候都是存储用户密码的md5值。这样就算不法分子得到数据库的用户密码的MD5值,也无法知道用户的密码。
三、防止抵赖(数字签名)
这需要一个第三方认证机构。例如A写了一个文件,认证机构对此文件用md5算法产生摘要信息并做好记录。若以后A说这文件不是他写的,权威机构只需对此文件重新产生摘要信息,然后跟记录在册的摘要信息进行比对,相同的话,就证明是A写的了。这就是所谓的“数字签名”。
以上就是md5加密解密的原理以及md5的相关用途。值得注意的是:md5不是加密算法。因为md5算法得到的消息是不完整的,无法通过摘要的数据得到原始数据。
进群了解网络安全技术,分享免费工具、技术文章,欢迎大家加入。
哈客部落:https://www.hake.cc/
免费MD5加密解密:https://md5.cn/
靶场实训学院:http://gf.md5.com/
哈客部落官方交流群1群:863658976
MD5加密解密官方交流群1群:857548361
靶场实训学院官方交流群1群:870204559
- 上一篇: 自动化中MD5和RSA加密解读! md5加密技术
- 下一篇: Base64和MD5加密?别傻傻分不清楚
猜你喜欢
- 2025-05-30 为什么说网上的md5加密解密站都是通过彩虹表解密的?
- 2025-05-30 一文读懂md5,md5有什么用,什么是md5加盐
- 2025-05-30 Java md5加密解密数据
- 2025-05-30 MD5是什么?如何进行MD5校验?
- 2025-05-30 专家教你简单又轻松的MD5解密方法,一看就会
- 2024-09-27 MD5 到底算不算一种加密算法? md5是数据加密算法吗
- 2024-09-27 在网站开发时你还是只用md5加密密码吗?
- 2024-09-27 通过一次安全处理暴露的问题 通过一次安全处理暴露的问题的英文
- 2024-09-27 加解密与HTTPS(3) 加解密服务器通讯异常
- 2024-09-27 Qt怎么使用MD5加密 md5在线加密解密工具
你 发表评论:
欢迎- 06-24发现一款开源宝藏级工作流低代码快速开发平台
- 06-24程序员危险了,这是一个 无代码平台+AI+code做项目的案例
- 06-24一款全新的工作流,低代码快速开发平台
- 06-24如何用好AI,改造自己的设计工作流?
- 06-24濮阳网站开发(濮阳网站建设)
- 06-24AI 如何重塑前端开发,我们该如何适应
- 06-24应届生靠这个Java简历模板拿下了5个offer
- 06-24服务端性能测试实战3-性能测试脚本开发
- 566℃Oracle分析函数之Lag和Lead()使用
- 564℃几个Oracle空值处理函数 oracle处理null值的函数
- 550℃Oracle数据库的单、多行函数 oracle执行多个sql语句
- 545℃0497-如何将Kerberos的CDH6.1从Oracle JDK 1.8迁移至OpenJDK 1.8
- 543℃Oracle 12c PDB迁移(一) oracle迁移到oceanbase
- 536℃【数据统计分析】详解Oracle分组函数之CUBE
- 526℃最佳实践 | 提效 47 倍,制造业生产 Oracle 迁移替换
- 518℃Oracle有哪些常见的函数? oracle中常用的函数
- 最近发表
- 标签列表
-
- 前端设计模式 (75)
- 前端性能优化 (51)
- 前端模板 (66)
- 前端跨域 (52)
- 前端缓存 (63)
- 前端react (48)
- 前端aes加密 (58)
- 前端脚手架 (56)
- 前端md5加密 (54)
- 前端富文本编辑器 (47)
- 前端路由 (61)
- 前端数组 (73)
- 前端js面试题 (50)
- 前端定时器 (59)
- Oracle RAC (73)
- oracle恢复 (76)
- oracle 删除表 (48)
- oracle 用户名 (74)
- oracle 工具 (55)
- oracle 内存 (50)
- oracle 导出表 (57)
- oracle 中文 (51)
- oracle的函数 (57)
- 前端调试 (52)
- 前端登录页面 (48)
本文暂时没有评论,来添加一个吧(●'◡'●)