md5加密的原理(md5加密原理简单解释通俗易懂)

md5实际上也是一种哈希算法,它的输出是生成一个128位输出结果。如果输入两个不同的明文,那么就会输出两个不同的输出值,而且根据输出值,不能得到原始的明文,这是一个不可逆的过程。下面说说md5加密原理以及md5有哪些用途,帮助大家更好地了解md5相关的知识。

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加密的原理(md5加密原理简单解释通俗易懂)

md5.cn

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算法得到的消息是不完整的,无法通过摘要的数据得到原始数据。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发表评论

登录后才能评论