SHA-512 雜湊計算

在瀏覽器中即時計算輸入字串的 SHA-512 雜湊值。SHA-512 生成 512 位的長雜湊值,在 64 位環境下執行高效,具備最高級別的碰撞抵抗性。

已複製!

Tips

  • SHA-512 屬於 SHA-2 家族,輸出 512 位(128 個十六進位制字元)
  • 針對 64 位 CPU 進行了最佳化,在某些架構上甚至比 SHA-256 更快。
  • 與 SHA-256 安全級別相當,但提供更高的安全裕量,適合對安全性要求極高的場景。
  • Linux 系統密碼雜湊方案 sha512crypt(即 $6$ 字首)採用了 SHA-512。
  • 此外還有派生版本 SHA-512/256,擷取 SHA-512 計算結果的前 256 位,兼顧效率與安全性。

常見問題

兩者在檔案完整性驗證和數字簽名等常見場景下都足夠安全。如果在 64 位伺服器環境下執行,或需要更高的安全裕量,推薦使用 SHA-512。

不能。SHA-512 是單向雜湊函式,在設計上無法從雜湊值反推出原始輸入,這在計算上是不可行的。

不推薦。SHA-512 計算速度太快,容易遭受暴力破解攻擊。儲存密碼應使用專為此設計的慢速演算法,如 bcrypt 或 Argon2
ツールくん

閒話 ― 為何需要"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 的理由之一。