Hash Generator

Hash Generator 雜湊產生器

從文字或檔案即時計算 MD5、SHA-1、SHA-256、SHA-384、SHA-512、CRC32 雜湊值,完全在你的瀏覽器中運算,絕不上傳。

不會。所有雜湊運算完全在你的瀏覽器內透過 JavaScript 和 Web Crypto API 執行。輸入文字或選擇檔案時不會發出任何網路請求。你可以打開瀏覽器的 Network 分頁自行驗證。

檔案完整性(校驗碼)用 MD5 或 SHA-256 都可以,非安全用途沒問題。安全用途(密碼雜湊、簽章)請使用 SHA-256 或 SHA-512,絕不要用 MD5 或 SHA-1(兩者都已經被破解碰撞)。CRC32 僅適用於檢測意外資料損壞,不適用於安全用途。

0 字元 · 0 位元組
演算法
|

小提示:輸入時雜湊會即時更新。取消勾選不需要的演算法可加速大檔案雜湊。

為什麼選擇 Hash Generator?

快速、隱私、涵蓋所有常用的雜湊演算法。

隱私優先

所有雜湊運算都在你的瀏覽器內執行,文字和檔案絕不傳送、儲存或記錄到任何地方。

六種演算法一次到位

MD5、SHA-1、SHA-256、SHA-384、SHA-512、CRC32 — 同時顯示全部,或只選你需要的。

檔案雜湊

拖曳任何檔案(含數 GB 大檔),即時進度條顯示。分段讀取,低記憶體消耗。

25 種語言

支援 25 種語言,自動偵測瀏覽器語言。支援阿拉伯、波斯、烏爾都語的 RTL 排版。

即時輸出

輸入時雜湊即時更新(含 debounce)。每組結果都有一鍵複製,可切換大小寫。

使用 Web Crypto API

SHA 系列雜湊使用瀏覽器原生 Web Crypto API — 與 TLS 和子資源完整性使用的是相同的實作。

Hash 產生器怎麼運作

SHA 系列用 Web Crypto API,大檔案用串流。

  1. 1

    拖檔案或貼文字

    文字輸入用 TextEncoder 編成 UTF-8 bytes。檔案小的用 File.arrayBuffer 讀進來;大於約 100 MB 的用 TransformStream 串流處理。

  2. 2

    Web Crypto 計算

    crypto.subtle.digest('SHA-256', bytes) 用瀏覽器硬體加速的實作計算 hash。和 OpenSSL 用的演算法相同,只是跑在 V8 / JavaScriptCore 沙箱裡。SHA-1 / SHA-384 / SHA-512 用法一樣。

  3. 3

    MD5 與 CRC32 透過 WebAssembly

    MD5 與 CRC32 不在 Web Crypto 中(因為兩者要不密碼學上已破要不就不是密碼學雜湊)。我們提供小型 WASM 實作(每個約 5 KB),用同樣的串流模式計算。

  4. 4

    顯示全部 6 種 hash

    結果以 hex 格式顯示,旁邊有一鍵複製。SHA 系列另提供 Base64 輸出 — 對比 AWS S3 ETag 或 HTTP Content-Digest header 時很常用。

什麼時候用哪個 hash

Hashing 用途很多 — 為任務選對演算法。

驗證下載的 ISO

對發行者的 checksum 用 SHA-256。即使一個 byte 被竄改,digest 都會不同。MD5 與 SHA-1 用於偵測意外損毀沒問題,但對抗攻擊者就不要用。

檔案去重

用 SHA-1 對一組照片做 hash(若速度比 collision resistance 重要,MD5 也可)。相同 hash = 相同 bytes — 適合清理上傳重複。

產生 ETag 值

AWS S3 single-part 物件用 MD5,multipart 用另一種方案。iKit 立即給你原始 MD5,可確認本地檔案是否與 S3 上的一致。

確認備份

原檔和備份分別 SHA-256,比對兩個字串。相同 = 內容相同。不同 = 備份壞了或過期。

為什麼本地 hashing 很重要

有些線上 hash 工具會為了算 checksum 而上傳你的檔案 — 對隱私敏感操作來說正好相反。iKit Hash Generator 用 Web Crypto 在瀏覽器中計算所有東西,即使是機密或私人檔案也能 hash 而不離開你的電腦。

  • 硬體加速的 SHA(透過 Web Crypto API)。
  • 大檔案以 64 KB chunk 串流 — 不上傳、記憶體不爆。
  • 無檔案 metadata、無 IP 連結 log、不需註冊。

相關教學

來自 iKit 部落格的深入教學與工具比較。

常見問題

我的輸入會被傳送到伺服器嗎?

不會。所有雜湊運算完全在你的瀏覽器內透過 JavaScript 和 Web Crypto API 執行。輸入文字或選擇檔案時不會發出任何網路請求。你可以打開瀏覽器的 Network 分頁自行驗證。

我該使用哪個演算法?

檔案完整性(校驗碼)用 MD5 或 SHA-256 都可以,非安全用途沒問題。安全用途(密碼雜湊、簽章)請使用 SHA-256 或 SHA-512,絕不要用 MD5 或 SHA-1(兩者都已經被破解碰撞)。CRC32 僅適用於檢測意外資料損壞,不適用於安全用途。

MD5 和 SHA-1 還安全嗎?

檔案校驗碼和偵測意外損壞用還可以 — MD5 和 SHA-1 仍普遍使用於下載頁面等情境。但安全關鍵用途(密碼、簽章、憑證)則不行 — 兩者都有已知的碰撞攻擊。任何安全敏感的場景請使用 SHA-256 或更高。

可以雜湊大檔案嗎?

可以。檔案以 2 MB 分段讀取並顯示即時進度。MD5 和 CRC32 採用完全漸進式處理(記憶體恆定)。SHA 系列受 Web Crypto API 限制需要把檔案全部載入記憶體,所以超過 ~2 GB 的檔案在部分瀏覽器可能無法處理。

為什麼 MD5 和 SHA-256 的輸出長度不同?

每個演算法輸出固定長度的摘要:MD5 = 128 位元 (32 個 hex)、SHA-1 = 160 位元 (40 個 hex)、SHA-256 = 256 位元 (64 個 hex)、SHA-384 = 384 位元 (96 個 hex)、SHA-512 = 512 位元 (128 個 hex)、CRC32 = 32 位元 (8 個 hex)。