1

sha1 的最低和最高可能回报是多少?(关于 sha1 结果实际上是 5 个 32 位值而不是 1 个真正的 160 位值)

4

1 回答 1

1

要创建安全散列,散列的输出必须与随机无法区分。许多随机数生成器和密钥派生方法实际上使用哈希作为最终计算。

所以“最高”的结果由全零组成,最低的由全1组成。也就是说,如果您将结果解释为当然是无符号整数。当然,准确获得这些值的机会几乎为零,因为 SHA-1 结果应该是均匀分布的。但是以 8 开头的数字的变化仍然是1/2^8== 1/256,这当然不是微不足道的。

请注意,SHA-1 的结果应解释为位串。大多数运行时都没有非常有用的位串表示,而是使用八位字节串(又名字节数组)。我认为 SHA-1 实现会返回短裤而不是字节非常烦人。您不想因 little-endian 和 big-endian 表示的差异而惹恼用户,而且大多数其他原语确实希望它们的输入表示为字节。

于 2013-11-08T10:53:42.037 回答