CRC-32C 雜湊碼計算器
已發佈: 2025年2月17日 下午6:45:25 [UTC]
雜湊碼計算器使用 CRC-32C(32 位元循環冗餘校驗,C 變體)雜湊函數根據文字輸入或檔案上傳計算雜湊碼。該頁面是由英語機器翻譯而來的,以便盡可能多的人可以訪問。不幸的是,機器翻譯還不是一項完善的技術,因此可能會出現錯誤。如果您願意,可以在這裡查看原始英文版本:
CRC-32C Hash Code Calculator
CRC-32C Hash Code Calculator
循環冗餘校驗 (CRC) 是一種錯誤偵測碼,常用於偵測原始資料的意外變更。雖然從技術上講 CRC-32 並不是一個加密雜湊函數,但它通常被稱為哈希,因為它能夠從可變長度的輸入產生固定大小的輸出(32 位元)。本頁上介紹的版本是 CRC-32C 變體,它是一個較新的、「更聰明」(錯誤檢測能力更強)的版本,通常在現代 CPU 上進行硬體加速(透過 SSE 4.2)。
完全披露:我沒有寫此頁面上使用的哈希函數的具體實現。它是 PHP 程式語言中包含的標準函數。為了方便起見,我僅製作了 Web 介面以便在此公開發布。
關於 CRC-32C 雜湊演算法
我不是數學家,但我會嘗試用一個簡單的類比來解釋這個雜湊函數。與許多加密雜湊函數不同,它不是一個特別複雜的演算法,所以它可能沒問題;-)
想像一下,您正在郵寄一封信,但您擔心它在到達收件人之前可能會被損壞。根據信件的內容,計算 CRC-32 校驗和並將其寫在信封上。當收件人收到信件時,他或她還可以計算校驗和並查看其是否與您所寫的內容相符。如果確實如此,則表示該信件在運輸途中沒有被損壞或更改。
CRC-32 的實作方式分為四個步驟:
步驟 1:增加一些額外的空間(填滿)
- CRC 在訊息末尾添加一些額外的空間(就像在盒子裡包裝花生一樣)。
- 這有助於它更容易發現錯誤。
第二步:魔法尺(多項式)
- CRC-32使用特殊的「魔尺」來測量數據。
- 把這把尺想像成一個凸起和凹槽的圖案(這是多項式,但不要擔心這個詞)。
- CRC-32 最常見的「標尺」是固定模式。
步驟 3:滑動標尺(分割過程)
- 現在 CRC 將標尺滑過訊息。
- 在每個點,它會檢查凸起和凹槽是否對齊。
- 如果它們不對齊,CRC 就會做出記錄(這可以透過簡單的 XOR 完成,就像打開或關閉開關一樣)。
- 它不斷滑動和翻轉開關,直到到達末端。
步驟 4:最終結果(校驗和)
- 將標尺滑過整個訊息後,您將剩下一個小數字(32 位元長),它代表原始資料。
- 這個號碼就像是這則訊息的唯一指紋。
- 這是 CRC-32 校驗和。
頁面上顯示的版本是 CRC-32C 變體,這應該是首選變體,特別是當您使用具有硬體加速的 CPU(SSE 4.2 及更高版本)並且不需要與其他變體相容時。
我也有其他變體的計算器: