algorithm - 可能的 sha1hash 结果范围是多少?

标签 algorithm hash cryptography sha

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/

相关文章:

swift - 使用按位异或运算符将 hashValue 添加在一起或简单地将它们添加在一起

java - 在Java中使用bouncycaSTLe生成p7b证书链

x86 上的 C 64 位循环性能

algorithm - 将一个数组最佳地划分为两个子数组,使两个子数组中的元素之和相同

Java - 计算最常见的元素

c# - AES 64 key 生成

Golang 包 jwt-go 带有 rsa key 。公钥如何放入以及如何从token中获取?

algorithm - 动态搜索和显示

php - 将整个 PHP 数组散列为唯一值

algorithm - 我可以根据初始 key 和输出哈希来识别哈希算法吗?