gpt4 book ai didi

c++ - 大于或等于 56 字节的散列数据

转载 作者:行者123 更新时间:2023-11-30 03:07:58 25 4
gpt4 key购买 nike

我试图了解 SHA-1 哈希函数中使用的内部机制。我还指的是 FIPS-180 标准。

设法编写一个实现能够返回对字符串“abc”进行哈希处理的准确结果。然而,我仍然直言不讳地解释如何解释 >= 56 字节的字符串。 FIPS-180 标准指定对 56 字节的字符串大小使用 1024 位。

最佳答案

Sha1 对 block 大小为 512 位(64 字节)的消息进行操作。

如果您有一条长度为 104 字节的消息会怎样?首先,您需要填充消息以便能够对大小为 512 位的 block 进行操作。

您取不完整的最后一个 block 104 - 64 = 40 字节,并通过 fips-180 中描述的消息填充阶段以获得 512 位(64 字节)的 block 大小,并执行消息摘要计算.

填充阶段(取自 wiki )是:

Pre-processing:
append the bit '1' to the message
append 0 ≤ k < 512 bits '0', so that the resulting message length (in bits) is congruent to 448 ≡ −64 (mod 512)
append length of message (before pre-processing), in bits, as 64-bit big-endian integer

关于c++ - 大于或等于 56 字节的散列数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5487204/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com