線上雜湊值產生器
快速從文字或任何檔案產生 SHA-1 / SHA-256 / SHA-384 / SHA-512 雜湊值。
基於安全的 Web Crypto API — 完全離線運作,保障隱私。
關於本工具
這是一個完全免費的線上開發工具。它利用瀏覽器內建標準的 Web Crypto API 技術,能讓您瞬間從純文字字串或任意檔案中,計算並產生出 SHA-1、SHA-256、SHA-384 以及 SHA-512 的雜湊值 (Hash)。
非常適合用於:下載檔案後的完整性檢查 (Checksum)、在開發過程中確認 API 的簽章是否正確,或是簡單地產生密碼的雜湊字串。由於所有的運算都在您的裝置上執行,您可以非常放心地處理敏感資訊而不用擔心資料外洩。
使用方法
選擇處理模式
點選上方的「純文字」頁籤來輸入字串,或是切換到「檔案」頁籤來載入檔案。
輸入內容或檔案
在文字方塊中打字即可即時運算。如果是檔案模式,拖曳或選擇檔案後,系統就會自動開始處理。
複製運算結果
四種演算法的雜湊值會同時顯示在畫面上。點擊任一演算法旁邊的「複製」按鈕即可取得結果。
名詞解釋
- 雜湊函數 (Hash Function)
- 一種單向的數學演算法,可以將任意長度的資料轉換成固定長度的字串 (即雜湊值/摘要)。相同的輸入永遠會產生相同的輸出。
- SHA-256
- 屬於 NSA 設計的 SHA-2 家族,能產生 256 位元的雜湊值。目前被廣泛應用於 TLS/SSL 憑證、加密貨幣 (如比特幣) 等,是現代最主流的安全性標準。
- SHA-512
- 同樣屬於 SHA-2 家族,但產生更長的 512 位元雜湊值。安全性比 SHA-256 更高,而且在 64 位元的電腦系統上,運算速度通常比 SHA-256 還快。
- SHA-1
- 早期常用的演算法,產生 160 位元的雜湊值。近年來已被證實存在碰撞攻擊的弱點,因此已不建議用於任何需要高安全性的場合 (如密碼儲存或憑證)。
- Checksum (檢查碼/校驗碼)
- 一種用於檢查資料完整性的數值。例如,當您下載一個大型軟體後,可以比對下載檔案的雜湊值與官方網站提供的 Checksum 是否一致,藉此確認檔案沒有被竄改或損壞。
- 抗碰撞性 (Collision Resistance)
- 一個優良的雜湊函數必須具備的特性。指的是「極難找到兩個不同的輸入,卻能產生出完全相同的雜湊結果」。
- Web Crypto API
- 現代瀏覽器內建的標準密碼學介面。它允許開發者透過 JavaScript 直接呼叫底層高效率且安全的加密與雜湊運算。
常見問題
- Q.我輸入的資料或檔案會被傳送到伺服器嗎?
- 完全不會。本工具利用現代瀏覽器內建的 Web Crypto API 進行所有運算,無論是文字還是檔案,所有的雜湊過程都是在您的裝置本地端完成的,資料絕對不會外流。
- Q.支援 MD5 嗎?
- 基於安全性考量,現代瀏覽器的 Web Crypto API 已經不直接支援 MD5 的運算。我們提供更安全的 SHA-1、SHA-256、SHA-384 與 SHA-512 演算法供您使用。
- Q.可以對大檔案進行雜湊運算嗎?
- 可以的。檔案會以 ArrayBuffer 的形式載入瀏覽器並進行運算,因此大部分的檔案都能正常處理。不過這取決於您裝置的可用記憶體容量,若是數 GB 以上的超大檔案,可能會導致瀏覽器記憶體不足而當機。
- Q.我應該選擇哪一種雜湊演算法?
- 若是為了安全性考量,強烈建議使用 SHA-256 或更高的層級 (如 SHA-512,目前最安全的選項之一)。SHA-1 已經被證實存在碰撞漏洞,目前僅建議用於舊系統相容或非安全性用途的校驗。
- Q.我可以將雜湊值反向還原成原始資料嗎?
- 不行。雜湊函數 (Hash Function) 是一種單向的數學演算法,它設計的初衷就是不可逆的。以目前的計算能力,幾乎不可能從雜湊值反推出原始的輸入資料。
使用場景
🔍 驗證檔案完整性
下載開源軟體、ISO 映像檔後,立刻核對檔案的 SHA-256 Checksum 是否與官方公告一致,確保檔案未遭竄改。
🔐 密碼安全防護
在開發系統時,測試並觀察不同密碼字串轉換為 SHA-256 或 SHA-512 雜湊值後的結果 (實務上請務必加上 Salt)。
💻 API 簽章測試
在介接第三方 API (如金流系統的 Webhook) 時,手動驗證 request 帶來的 payload 所產生的雜湊簽章是否正確。
📝 資料防竄改確認
傳送一段重要的文字合約前,先記錄下它的雜湊值。日後只要核對雜湊值,就能知道合約內容是否曾被更動過哪怕一個字元。
發送反饋
請告訴我們您的想法,以幫助我們改進工具。
Feedback is temporarily suspended
The server is busy or spam protection is active. Please try again later.