SHA-1 雜湊產生器

為舊系統相容性工作計算 SHA-1,核對原始位元組並了解其安全限制。

0 位元組UTF-8 · 不移除空格、不轉換換行

計算結果

按產生以查看結果,空字串也可計算。

在瀏覽器本機處理,不上傳內容。

其他雜湊與校驗工具

本工具計算什麼

SHA-1 輸出 160 位元摘要,通常表示為 40 個十六進位字元。本頁適用於重現舊系統結果、核對相容性測試或讀取歷史清單。即使看起來都是十六進位,也不能把 SHA-1 與 MD5、SHA-256 直接比較。儲存結果時,請一併記錄演算法名稱。

重現歷史摘要需要完全相同的位元組,不只是視覺相似的文字。編輯器新增的換行、檔案開頭的位元組順序記號、不同的 Unicode 表示,都可能改變結果。核對已儲存文件時,應選取原始檔案,而非只複製畫面中的文字。

SHA-1 存在已知碰撞弱點。舊協定使用它,不表示新系統也應採用它。如果需要證明訊息來自持有共享金鑰的一方,應使用適當的 HMAC 等驗證機制;無金鑰摘要不提供這類身分保證。

可核對的範例

UTF-8 · abc · SHA-1

a9993e364706816aba3e25717850c26c9cd0d89d

如何計算與比較

  1. 在輸入文字中貼上要計算的內容,或按範例載入 abc。工具以 UTF-8 編碼計算,保留輸入中的空格與換行。
  2. 單筆文字模式下,不超過 64 KiB 的非空輸入會在停止輸入片刻後自動計算。計算空字串或較大的文字時,請按產生雜湊。修改輸入後,舊結果會立即清除。
  3. 若要核對已儲存的檔案,請切換至檔案校驗,確認演算法後選取或拖入檔案。檔案模式會讀取原始位元組並自動開始計算。

批次處理時,勾選逐行計算,選擇是否包含空白行,再按產生雜湊。逐行模式不會自動計算。CRLF、LF 與 CR 僅用來分隔記錄,不計入各行摘要;重複行保留各自的原始行號。

將完整的十六進位參考值貼到比較預期值(選填),再按核對。比對時忽略字母大小寫與頭尾空白,但不接受內部空格或錯誤長度。複製會保留完整結果。TXT、CSV 匯出包含輸入識別碼、演算法與摘要,不包含原始文字或金鑰。

限制、隱私與下一步

文字上限為 10 MiB;逐行模式最多接受 10,000 筆記錄,以過濾空白行前的數量計算。檔案佇列最多 50 個檔案,每個不超過 1 GiB,依序以 2 MiB 分塊讀取。這些限制用來控制瀏覽器資源占用,不保證每支手機都能快速處理最大輸入;必要時可取消計算。計算在瀏覽器內完成,正常的頁面與資源請求仍會傳送至託管伺服器。

SHA-1 檔案摘要不等於 Git 物件 ID

本頁計算的是文字或檔案的原始位元組。在採用 SHA-1 的 Git 儲存庫中,物件 ID 不只是可見檔案內容的 SHA-1:Git 會加入物件標頭,建立 blob 時也可能套用篩選規則。因此,與 git hash-object 不同,不能直接證明本頁演算法有誤。

核對舊系統前,先確認欄位需要的是原始檔案摘要、物件識別碼,還是簽章結構內的摘要。原始 SHA-1 可在這裡重現,Git 物件則應使用 Git 本身的指令。保留協定指定的演算法名稱,不要在未調整協定時直接換成更長的雜湊。

原始檔案 SHA-1 與 Git blob SHA-1 對照

對於 abc 這三個位元組,Git 的 SHA-1 blob 表示會先加入 blob 3 與一個零位元組。不要把可見的反斜線加數字零輸入文字框:這是在說明物件表示,本工具沒有 Git 物件計算模式。

SHA-1 / 原始 abc 位元組:
a9993e364706816aba3e25717850c26c9cd0d89d
SHA-1 / Git blob (62 6c 6f 62 20 33 00 61 62 63):
f2ba8f84ab5c1bce84a7b441cb1959cfc7093b7f

SHA-1 相容性問題排查

現象原因處理方式
與 Git 物件 ID 不同Git 計算的是物件表示,而非單獨檔案內容使用 git hash-object,並檢查儲存庫篩選規則。
參考值有 64 個十六進位字元這不是完整的普通 SHA-1 摘要確認系統是否實際要求 SHA-256。
舊檔案編輯後無法重現摘要儲存可能改變編碼或換行優先計算未經編輯的原始檔案。

相關工具與指南

FIPS 180-4 · Git object format

常見問題

SHA-1 有碰撞弱點,為何仍提供?

用於重現既有格式與舊系統相容性測試,不代表建議在新的安全設計採用 SHA-1。

為什麼檔案 SHA-1 與 git hash-object 不同?

Git 會在物件內容前加入類型與長度等標頭,也可能套用篩選規則。本頁只計算原始位元組摘要,不產生 Git 物件 ID。

舊介面中的 SHA-1 能直接改成 SHA-256 嗎?

不能直接替換,除非同步調整協定或資料格式。兩者的摘要長度與演算法識別不同。相容性重現與系統遷移應分別處理。

SHA-1 相符就能證明舊版軟體來自官方嗎?

單憑相符不能證明。參考值必須來自可信來源,而且 SHA-1 有碰撞弱點。有官方簽章驗證流程時,應依該流程確認來源。