通过使用在线工具和维基百科,我发现每个sha-256加密字符串都是包含数字和字符的64个字符长。因此我假设有34 ^ 36个组合(2 ^ 216由代数计算器简化)。 经过一些研究后我发现大多数人说有2 ^ 256种组合。有人能解释一下吗为了使上下文清晰,我写了一篇关于加密货币的论文,并尝试解释有多少不同的加密组合以及可以花多长时间(因此可以进行多少次猜测)并将其与总的原子数进行比较。宇宙(大约10 ^ 85)。
答案 0 :(得分:9)
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个字符。
答案 1 :(得分:0)
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。
十六进制的0-9&a-f可以使用16个字符,十六进制的16 ^ 2或256个组合。
在sha-256中有32个十六进制插槽,您可以使用256 ^ 32获得:
115792089237316195423570985008687907853269984665640564039457584007913129639936
可用的sha-256哈希。
答案 2 :(得分:-1)
SHA-256的总组合为
TypeError: unsupported operand type(s) for +: 'int' and 'str'