【问题标题】:Is md5's padding the same that sh256?md5的填充和sh256一样吗?
【发布时间】:2019-07-03 12:47:33
【问题描述】:

我正在尝试使用我在互联网上找到的多个文档在 C 中编写 md5 和 sha256 算法。 我的 md5 似乎工作正常,但不是我的 sha256。

这是我想弄清楚的,这两种算法的填充步骤是否完全相同,还是我遗漏了什么?

echo -n toto | ./md5
01110100 01101111 01110100 01101111 10000000 00000000 00000000
00000000 00000000 00000000 00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000 00000000 00000000 00000000
00100000 00000000 00000000 00000000 00000000 00000000 00000000
00000000
f71dbe52628a3f83a77ab494817525c6

echo -n "toto" | ./sha256
01110100 01101111 01110100 01101111 10000000 00000000 00000000
00000000 00000000 00000000 00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000 00000000 00000000 00000000
00100000 00000000 00000000 00000000 00000000 00000000 00000000
00000000
cda8272de630c5dd9770c5f5030d2d53650b6e986229d21291c5803ff4da592c

这是我填充后的数据,md5 可以,但是 sha256 不行,我想知道我的错误是否来自对这一步的误解。 谢谢!

【问题讨论】:

    标签: algorithm hash md5 padding sha256


    【解决方案1】:

    当您添加消息长度时(填充后),MD5 使用 little-endian,但 SHA256 使用 big-endian。内边距不一样。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-04-08
      • 2012-03-30
      • 1970-01-01
      • 2011-09-09
      • 2017-01-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多