首页 > 编程知识 正文

md5算法原理解,md5算法过程

时间:2023-05-04 03:47:34 阅读:274005 作者:140

MD5算法原理和流程

转载:https://www.zybuluo.com/DingCao-HJJ/note/202937
直接代码实现:https://blog.csdn.net/xhhjin/article/details/8450686

MD5 原理

将输入信息text的位数按照特定的方法填充至512的整数倍,然后每512位为一个分组M[i]进行处理。
每个分组又将分为16个32位的子分组,经过一系列循环后将产4个32位的散列值a, b, c, d,作为下一个分组的输入。
最终,将a, b, c, d组合起来即可得到text的MD5值。

流程


**

MD5流程

**

详细操作步骤

主流程

填充信息

分组处理信息

主循环


其中,FGHI操作分别是:
F( X ,Y ,Z ) = ( X & Y ) | ( (~X) & Z )
G( X ,Y ,Z ) = ( X & Z ) | ( Y & (~Z) )
H( X ,Y ,Z ) =X ^ Y ^ Z
I( X ,Y ,Z ) =Y ^ ( X | (~Z) )

语句
a = (a + fun + k[j] + N[index]) << s[j]
中的<<操作表示循环左移位。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。