文本

SHA-512 哈希计算

在浏览器中实时计算输入字符串的 SHA-512 哈希值。SHA-512 生成 512 位的长哈希值,在 64 位环境下运行高效,具备最高级别的碰撞抵抗性。


SHA-512

Tips

  • SHA-512 属于 SHA-2 家族,输出 512 位(128 个十六进制字符)
  • 针对 64 位 CPU 进行了优化,在某些架构上甚至比 SHA-256 更快。
  • 与 SHA-256 安全级别相当,但提供更高的安全裕量,适合对安全性要求极高的场景。
  • Linux 系统密码哈希方案 sha512crypt(即 $6$ 前缀)采用了 SHA-512。
  • 此外还有派生版本 SHA-512/256,截取 SHA-512 计算结果的前 256 位,兼顾效率与安全性。

闲话 ― 为何需要"512 位"?位长与安全性的关系

直觉上,512 位"看起来比 256 位安全两倍",但实际并非如此。根据生日悖论,碰撞攻击的计算量约为 2 的(位数/2)次方:SHA-256 约需 2^128 次,SHA-512 约需 2^256 次运算。

2^128 已是一个无法完成的天文级计算量——即使以宇宙年龄(约 138 亿年)来衡量,利用全球所有计算资源也远不足以穷举。因此 SHA-256 在当今环境下已足够安全。

量子计算机的 Grover 算法可将哈希函数的有效安全位减半。SHA-256 在量子威胁下的有效安全性降至约 128 位,而 SHA-512 则可维持约 256 位,这正是在后量子时代选用 SHA-512 的理由之一。