Advertisement

Python实现MD5原理及其

阅读量:

简介

MD5消息摘要算法是一种被广泛认可的密码散列函数,在接收的信息长度不超过每条记录最多包含的信息量时可以有效运行,在我的编码方案中也采用不超过每条记录最多包含的信息量作为处理标准生成一个固定大小为16个字节的哈希值,并对系统接收的信息按照每秒一定数量的信息量进行分组处理

算法流程

  1. 附加位填充
  2. 初始化链接变量
  3. 分组处理
  4. 步函数的运算

这个流程描述下来非常符合hash函数的一般模型:

FgKNgH.png

单个点拿出来仔细分析

附加位填充

填充一个'1'并随后添加若干个'0'使得消息总长度满足模5^{3}等于7^{3}的要求

Fgu4hD.png

关键代码:

复制代码
     length = struct.pack('<Q', len(message)*8)  #原消息长度64位比特的添加格式,太骚额这种写

全部评论 (0)

还没有任何评论哟~