问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

MD5的算法原理

发布网友 发布时间:2022-04-29 12:38

我来回答

1个回答

热心网友 时间:2022-06-27 22:07

MD5简介:
MD5是Message-digestAlgorithm5(信息-摘要算法)的缩写,经MD2、MD3和MD4发展而来。它是把一个任意长度的字节串变换成一定长的大整数。MD5算法是在MD4的基础上增加了“安全-带子”(safety-belts)的概念。虽然MD5比MD4稍微慢一些,但却更为安全。这个算法很明显的由四个和MD4设计有少许不同的步骤组成。在MD5算法中,信息摘要的大小和填充的必要条件与MD4完全相同。由于MD5算法的使用不需要支付任何版权费用,所以在一般的情况下MD5不失为一种非常优秀的中间技术。
MD5原理:
MD 5算法是对输入信息进行初始化处理后,以512位分组来处理输入的信息,每一分组又被划分
成为16个32位子分组,经过了一系列的变换处理后,输出由四个32位分组,再将这四个32位分组级
联后生成一个128位散列值[5- 6]。具体过程如下:
(1)首先对信息进行填充,即在信息的后面填充一个1和若干个0使其字节长度对512求余的结
果等于448。
(2)对MD 5进行初始化,即MD 5中用四个32位被称作链接变量的整数参数,它们分别为:A =
0x01234567,B = 0x89abcdef,C = 0xfedcba98,D =0x76543210。
(3)开始进入算法的四轮循环运算。循环的次数是信息中512位信息分组的数目。将上面四个链
接变量复制到另外四个变量中:A到a,B到b,C到c,D到d。主循环有四轮,第一轮进行16次操作。
每次操作对a、b、c和d中的其中三个做一次非线性函数运算,然后将所得结果加上第四个变量,再将所得结果向右位移一个不定的数,并加上a、b、c或d中之一。最后用该结果取代a、b、c或d中之一。
以下是每次操作中用到的四个非线性函数(每轮一个)。
f(x,y,z)=(x&y) ((~x)&z)
g(x,y,z)=(xz) (y&(~z))
h(x,y,z)=x y z
i(x,y,z)=y (x (~z))
(其中:“&”是与运算,“ ”是或运算,“~”是非运算,“ ”是异或运算,它们都是位运算符。)
这四个函数的说明:如果x、y和z的对应位是独立和均匀的,那么结果的每一位也应是独立和均
匀的。f是一个逐位运算的函数。即,如果x,那么y,否则z。函数h是逐位奇偶操作符。假设mj表示
消息的第j个子分组(从0到15),ti为第I步中的常数,< < <s表示循环左移s位,
则四种操作为:ff(a,b,c,d,mj,s,ti)表示a=b+((a+(f(b,c,d)+mj+ti)< < <s)
gg(a,b,c,d,mj,s,ti)表示a=b+((a+(g(b,c,d)+mj+ti)< < <s)
hh(a,b,c,d,mj,s,ti)表示a=b+((a+(h(b,c,d)+mj+ti)< < <s)
ii(a,b,c,d,mj,s,ti)表示a=b+((a+(i(b,c,d)+mj+ti)< < <s)
常数ti表示在第i步中,ti是4294967296*abs(sin(i))的整数部分,4294967296等于2的32次
方,i的单位是弧度。所有这些完成之后,将A、B、C、D分别加上a、b、c、d。然后用下一分组
数据继续运行算法,最后的输出是A、B、C和D的级联。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
男人醉女人累原歌 我大概在2009年玩的很早的一款冒险动作游戏有一关是埃及狗头人主角捡武... 提成点数怎么算公式 Huamei/华美每日粗粮粗纤维饼-适用对象 0pp01107格式化后成白屏且不能开机怎么办 五邑大学是市属还是省属 五邑大学校区有几个 窝瓜焖荷包蛋怎么做? 达科塔·芬妮简要生平 湖北自动冷库多少钱 王卡领取腾讯会员入口 md5是什么东西? 给对方打有信电话,打通了我的手机上有什么提示? 怎么用乒乓球做地球仪要图片? 元气又减龄的双马尾发型怎么扎? 马尾怎么扎才减龄? 如何巧妙计算密度? 江疏影、杨幂的马尾都扎得那么洋气,马尾怎么扎才减龄? 怎样扎出俏皮减龄的高马尾辫? 密度符号PPT中怎么打 在word中输入特殊符号 word2007中如何输入密度符号 请问,我的手机oppor17手机充电器,不可以完全插进手机接口,但是可以充电,就是慢,这该怎么办啊 请问物理常用的表示&quot;机械效率&quot;和&quot;密度&quot;的两个符号怎么在Word中打出来? 怎样输进物理量的符号,比如密度;用分数线书写公式,比如密度=质量除以体积,除以想用分数线表示 怎样才能打出:密度的符号“rou”、机械效率“yita”、化学式的角标? word怎样修改字之间的密度 这骨架油封62*80*12的,我这个主轴得做多大尺寸才好,多大尺寸密油好 物理中的密度单位怎么输入呀? 在word文档里输入密度的单位 千克每立方米 NAK骨架油封型号的问题 支付宝如果倒闭了余额宝的钱怎么办 关于md5的原理!哪位大哥说一下,不要从网上随便拖一段文字过来哦! MD5码的原理是什么?为什么这么赞呢.. 如果支付宝倒闭,我们在里面的投资钱和余额宝的钱,还要得回来吗? 天王卡送的腾讯视频会员在哪领取 md5是什么呀? 二进制数 1001001 转换成十进制数是 如果支付宝倒闭破产,个人账户里的钱该怎么办 坏账准备T型帐怎么画? 支付宝又翻车了?如果支付宝倒闭,余额宝的钱还能取出来吗? 会计分录,T型账户,会计分录,懂得进来 应交税金的明细很多T型账户怎么做? 企业主营业务在t字记账法中怎么记 MD5是如何编译的? 会计中丁字型账户怎么写?举个列子 MD5解密原理 怎么用计算机绘制CAD图??? MD5校验器是什么?怎么工作的?什么原理?有什么用? 应收账款的增值税要不要计入t形账户 支付宝如果倒闭,余额宝里的钱怎么办?