sha1 的最低和最高可能返回是多少? (关于 sha1 结果实际上是 5 个 32 位值而不是 1 个真正的 160 位值)
最佳答案
要创建安全哈希,哈希的输出必须与随机的无法区分。许多伪随机数生成器和 key 派生方法实际上使用哈希作为最终计算。
因此,“最高”结果由全 0 组成,最低由全 1 组成。也就是说,如果您解释结果当然是一个无符号整数。当然,准确获得这些值的机会几乎为零,因为 SHA-1 结果应该是均匀分布的。但是8个1开头的数变化还是1/2^8
== 1/256
,这肯定不是小事。
请注意,SHA-1 的结果应解释为位串。大多数运行时没有非常有用的位串表示,而是使用八位字节串(也称为字节数组)。我认为 SHA-1 实现会返回短裤而不是字节非常烦人。您不想因为小端和大端表示的差异而惹恼用户,而且大多数其他原语确实希望它们的输入以字节表示。
关于algorithm - 可能的 sha1hash 结果范围是多少?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19855965/