md5算法加密原理

1、有三个不懂得地方,先看第一个吧图片描述

图片描述

不是说要填充272位么?第一位为1,后面都为0,但是为什么截图中是以8开头的呢?8000000...000。难道不应该是10000....000么?

2、第二的一个问题
图片描述

我明明数了一下明文的长度位44,但是图片上说的是明文长度位176位呢?

3、第三的一个问题
图片描述

用剩余的位置(512-448=64位)记录原文的真正长度,把长度的二进制值补在最后,但是B000000000000000补在后面是什么意思呢?

阅读 4.1k
1 个回答

所有的疑问应该都是图中采用的都是16进制表示,每位16进制数都对应4位二进制数。

  • 8其实就是对应1000,首位填充1
  • 明文长度44,其实是44*4=176位
  • 剩余位置64位,16进制表示也就是16位的B000000000000000B0代表真正的原文长度176(11*16)
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进