SHA-512 雜湊計算
在瀏覽器中即時計算輸入字串的 SHA-512 雜湊值。SHA-512 生成 512 位的長雜湊值,在 64 位環境下執行高效,具備最高級別的碰撞抵抗性。
SHA-512 雜湊值是什麼
SHA-512 是與 SHA-256 同屬SHA-2 家族的雜湊函數。無論輸入多長的字串,都會轉換為512位元(十六進位128個字元)的固定長度值。在本工具的輸入欄輸入字串後,SHA-512 雜湊值會在瀏覽器上即時計算,不送往外部伺服器即當場顯示結果。
SHA-2 家族在2026年時點仍未發現實用的攻擊方法,被視為在密碼學上安全的雜湊函數。這與已實質發現碰撞(由不同輸入產生相同雜湊值)的 MD5 與 SHA-1 形成對照。它在數位憑證、區塊鏈、軟體竄改偵測等需要可信度的場合被廣泛採用。
SHA-512 雜湊值的計算方法
- 在輸入欄輸入字串 將想雜湊化的文字貼入輸入欄,或直接輸入。每次輸入結果都會自動更新。
- 確認 SHA-512 雜湊值 會以128個十六進位字元顯示在輸入欄下方。若輸入為空,結果欄亦維持空白。
- 以複製按鈕取得雜湊值 按下「複製」按鈕,雜湊值即會複製到剪貼簿,可直接貼入其他工具或程式碼。
用好本工具的小技巧
- SHA-512 屬於 SHA-2 家族,輸出 512 位(128 個十六進位制字元)。
- 針對 64 位 CPU 進行了最佳化,在某些架構上甚至比 SHA-256 更快。
- 與 SHA-256 安全級別相當,但提供更高的安全裕量,適合對安全性要求極高的場景。
- Linux 系統密碼雜湊方案
sha512crypt(即$6$字首)採用了 SHA-512。 - 此外還有派生版本 SHA-512/256,擷取 SHA-512 計算結果的前 256 位,兼顧效率與安全性。
SHA-512 雜湊值的實用場景
下載檔案的完整性驗證
將發布方公開的 SHA-512 值與自行下載的檔案所計算出的值相比較,即可確認傳輸過程中是否有毀損或竄改(本工具僅供文字輸入,檔案本身的雜湊值請另以檔案雜湊工具算出後使用)。
數位憑證與簽章的學習
TLS 憑證與程式碼簽章的一部分採用 SHA-2 系的雜湊函數。學習憑證機制時,可用於在手邊確認實際字串會產生怎樣的雜湊值。
區塊鏈相關的驗證
區塊鏈的部分實作以 SHA-2 系的雜湊函數進行區塊的完整性驗證。可在理解其機制的過程中,用於試算任意字串的雜湊值。
密碼雜湊機制的學習(不建議實際運用)
實際的密碼保存會使用具備加鹽與計算成本調整功能的 bcrypt 或 Argon2。SHA-512 單獨並非為此用途設計,請限於學習與驗證目的使用。
術語解釋
- SHA-2
- 包含 SHA-256 與 SHA-512 等的雜湊函數家族名稱。由 NIST 標準化,現今仍被視為在密碼學上安全的演算法群。
- 雜湊函數
- 將任意長度的資料轉換為固定長度值的函數。相同輸入永遠得到相同輸出,但無法由輸出反推輸入。
- 輸出長度(512位元)
- SHA-512 所產生雜湊值的長度。以十六進位字元表示為128個字元,是 SHA-256(256位元、64字元)的兩倍長。
- 單向性
- 指無法由雜湊值以計算還原出原始輸入資料的性質。在密碼保存或竄改偵測等希望隱藏原始資料同時進行驗證的用途上尤為重要。
- 抗碰撞性
- 指兩個不同輸入不易產生相同雜湊值(碰撞)的性質。SHA-512 現階段尚未發現實用的碰撞,被認為具有高度的抗碰撞性。
- 與 SHA-1 的差異
- SHA-1 具有160位元的輸出,但2017年發表了實用的碰撞攻擊,現已不被視為安全。SHA-512 屬於 SHA-1 後繼世代的 SHA-2 家族之一員。
- 鹽(Salt)
- 在將密碼等雜湊化時附加的隨機字串。可使相同密碼產生不同雜湊值,防止藉由預先計算進行的攻擊。SHA-512 單獨並未內建加鹽機制。
常見問題
閒話 ― 為何需要"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 的理由之一。