MD5 哈希算法步骤 2 和 3

MD5 hashing Algorithm step 2 and 3

我创建了 a repository on github 来编写一些计算机安全算法,现在是编写 MD5 算法的时候了,我搜索了 papers/videos 通过示例和步骤解释算法,但我没有.

不,第一步不正确,因为如果块中剩余的少于 64 位,则它不会正确填充。在那种情况下,填充将必须跨越两个块 - 首先放入 1 并用零填充其余部分,然后创建一个 448 位块。

第二句我不清楚。填充后需要添加输入大小的 64 位编码。


请注意,您正试图从字面上重新创建算法描述。那不是一个好主意。您需要处理明文块,记录位数或字节数,然后在指示 stream 结束时执行填充和长度编码。您需要一个 512 位缓冲区,一个 updatefinal 方法。

使用表示二进制的字符串创建散列不是一个好主意。您应该在内部处理字节和可能的单词。您只需要为调试目的对任何内容进行编码。