SHA-256 有多少种组合?
Posted
技术标签:
【中文标题】SHA-256 有多少种组合?【英文标题】:How many combinations does SHA-256 have? 【发布时间】:2018-09-06 06:45:42 【问题描述】:通过使用在线工具和***,我发现每个 sha-256 加密字符串都是 64 个字符长,包含数字和字符。因此我假设有 34^36 个组合( 2^216 由代数计算器简化)。 经过一番研究,我发现大多数人说有 2^256 种组合。有人可以解释一下吗?为了让上下文更清楚,我写了一篇关于加密货币的论文,并尝试解释有多少种不同的组合需要加密以及这可能需要多长时间(因此可能需要多少猜测),并将其与加密货币中的总原子数量进行比较。宇宙(大约 10^85)。
【问题讨论】:
不确定 34^36 或 2^216 来自哪里。 虽然 10^77 和 10^85 是很大的数字,但它们与 google 相比很小:10^100 然后还有 googleplex: 10^google 或 10^(10^ 100) 【参考方案1】:SHA-256 产生 256 位,即 32 个字节,而不是字符,每个字节有 256 个可能的值。
有 256 位,每个位有 2 个值(0 或 1),因此是 2^256。 有 32 个字节,每个字节有 256 个值,因此是 256^32。 注意:2^256 == 256^32 ~= 10^77。
这 32 个字节可以有多种编码方式,十六进制为 64 个字符,Base64 为 44 个字符。
【讨论】:
我可以这样想吗:十六进制的 16 个唯一数字,sha256 是 64 个字符,64 个插槽中的每一个都有 16 个可能的数字,即 16^64 = (2^4)^64 = 2^256【参考方案2】:SHA-256 的总组合为
115,792,089,237,316,195,423,570,985,008,687,907,853,269,984,665,640,564,039,457,584,007,913,129,639,936
【讨论】:
实际上并不是非常有用,但是以“长格式”查看答案以直接直观地了解数字的大小很有趣。太糟糕了偷看投票 - 除非价值是错误的? (我实际上并没有检查...... lolol)【参考方案3】:一个 sha-256 哈希有 64 个字符,32 个十六进制组合,因为一个十六进制有 2 个字符。
3a 7b d3 e2 36 0a 3d 29 ee a4 36 fc fb 7e 44 c7 35 d1 17 c4 2d 1c 18 35 42 0b 6b 99 42 dd 4f 1b
上面是一个哈希,其中十六进制组合是分开的,所以你可以数 32。
有 16 个字符可用于十六进制 0-9&a-f 和 16^2 或 256 个十六进制组合。
在 sha-256 中有 32 个十六进制插槽,您可以使用 256^32 来获得:
115792089237316195423570985008687907853269984665640564039457584007913129639936
可用的 sha-256 哈希值。
【讨论】:
以上是关于SHA-256 有多少种组合?的主要内容,如果未能解决你的问题,请参考以下文章