什麼是校驗和?

校驗和示例,用例和計算器

校驗和是對一段數據(通常是單個文件)運行算法(稱為加密哈希函數 )的結果。 通過將您從文件版本生成的校驗和與文件源提供的校驗和進行比較,可以幫助確保您的文件副本是真正的,沒有錯誤的。

校驗和有時也被稱為散列和,並且通常不是散列值散列碼或簡單地散列

一個簡單的校驗和例子

校驗和或加密散列函數的想法可能看起來很複雜,不值得付出努力,但我們想說服你,否則! 校驗和真的不是很難理解或創建。

讓我們從一個簡單的例子開始,希望展示校驗和的力量來證明某些事情已經發生了變化。 以下短語的MD5校驗和是表示該句子的一長串字符。

這是一個測試。 120EA8A25E5D487BF68B5F7096440019

就我們這裡的目的而言,它們基本上是相等的。 然而,即使只是稍微改變一點,也會產生完全不同的校驗和:

這是一個測試CE114E4501D2F4E2DCEA3E17B546F339

正如你所看到的,即使文件中的微小變化也會產生一個截然不同的校驗和,清楚地表明一個不像另一個。

校驗和用例

比方說,像一個圖形編輯器一樣,您可以每天使用的程序下載一個重大更新,比如Service Pack 。 這可能是一個非常大的文件,需要幾分鐘或更長時間才能下載。

一旦下載,你怎麼知道文件正確下載? 如果在下載過程中丟失了幾位數據,並且現在計算機上的文件與預期的不完全相同,該怎麼辦? 將更新應用於與開發人員創建方式不完全相同的程序很可能會導致嚴重問題。

這是比較校驗和可以讓你放心的地方。 假設您下載文件的網站提供校驗和數據以及要下載的文件,然後可以使用校驗和計算器(請參閱下面的校驗和計算器 )從您下載的文件中生成校驗和。

例如,假設網站為您下載的文件提供了校驗和MD5:5a828ca5302b19ae8c7a66149f3e1e98 。 然後,您可以使用自己的校驗和計算器在計算機上的文件中使用相同的加密散列函數(本例中為MD5)生成校驗和。 校驗和是否匹配? 大! 你可以非常確信這兩個文件是相同的。

校驗和不匹配? 這可能意味著任何事情,有人已經用不知道的東西代替了惡意下載,出於某種原因,比如您打開並更改了文件,或者網絡連接中斷,文件沒有完成下載等。 嘗試再次下載文件,然後在新文件上創建新校驗和,然後再次進行比較。

校驗和對於驗證從原始源以外的地方下載的文件實際上是否是有效的文件並且沒有被惡意或其他方式從原始文件進行更改也非常有用。 只需比較您創建的哈希與文件源中可用的哈希。

校驗和計算器

校驗和計算器是用來計算校驗和的工具。 有很多校驗和計算器,每個都支持一組不同的加密散列函數。

一個很好的免費校驗和計算器是Microsoft File Checksum Integrity Verifier,簡稱fciv 。 Fciv僅支持MD5SHA-1加密哈希函數,但這些目前是最受歡迎的。

有關完整教程,請參閱如何使用FCIV驗證Windows中的文件完整性 。 Microsoft File Checksum Integrity Verifier是一個命令行程序,但非常易於使用。

另一個優秀的Windows免費校驗和計算器是IgorWare Hasher,它是完全便攜的,所以你不必安裝任何東西。 如果你不熟悉命令行工具,這個程序可能是一個更好的選擇。 它支持MD5和SHA-1以及CRC32。 您可以使用IgorWare Hasher來查找文本和文件的校驗和。

JDigest是一個開源的校驗和計算器,可以在Windows以及macOS和Linux上運行。

注意:由於並非所有校驗和計算器都支持所有可能的加密散列函數,因此請確保您選擇使用的校驗和計算器支持散列函數,該散列函數會生成伴隨您下載的文件的校驗和。