代码之家  ›  专栏  ›  技术社区  ›  WoffeLL

SHA-256有多少种组合?

  •  16
  • WoffeLL  · 技术社区  · 7 年前

    通过使用在线工具和维基百科,我发现每个sha-256加密字符串的长度为64个字符,包含数字和字符。因此,我假设有34^36个组合(2^216个由代数计算器简化)。 在做了一些研究之后,我发现大多数人说有2^256个组合。有人能解释一下吗?为了明确上下文,我写了一篇关于加密货币的论文,试图解释有多少种不同的组合需要加密,以及加密需要多长时间(因此需要多少猜测),并将其与宇宙中的总原子量(大约10^85)进行比较。

    3 回复  |  直到 7 年前
        1
  •  29
  •   zaph    7 年前

    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个字符。

        2
  •  16
  •   Dinesh DiNu    4 年前

    SHA-256 is的总组合

    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
    
        3
  •  2
  •   Tyler Stein    4 年前

    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有16个字符;十六进制中的a-f和16^2或256组合。

    sha-256中的十六进制有32个插槽,您可以使用256^32获得:

    115792089237316195423570985008687907853269984665640564039457584007913129639936
    

    可用sha-256哈希。