我們從網上下載一些大文件的時候,受限于網絡和下載客戶端的影響,有時候會出現文件損壞的情況,為了確保文件是完整可靠的,此時就需要通過一些手段來驗證文件有沒有損壞或者遭到篡改。對于軟件發布來說,最有效的辦法是添加數字簽名,而對于普通文件來說是沒法添加的,但是可以通過一些加密算法來驗證文件的唯一性。

哈希的英文是 hash ,中文可以翻譯為散列,就是采用設定好的算法對輸入的數據(在此指文件內容)進行計算得到一串字符串輸出結果的方法。使用的算法又稱為哈希函數或哈希算法,關于哈希算法的研究屬于密碼學的研究領域。
哈希計算是一種單向密碼算法,即從明文到密文是不可逆的,只有加密過程,沒有解密過程。哈希算法的結果通常很小,一般為 32位 或 64位 十六進制字符串等形式。哈希算法的特點之一是高靈敏性,也就是說輸入數據的微小變化,哈希算法輸出結果就會完全不同。

哈希算法可以用來校驗接受者接收到的信息或數據的準確性。官方在發布軟件的時候,可以同時發布該軟件的哈希值,以便于用戶辨別真偽是否官方原版。用戶可以將下載軟件通過哈希工具進行處理,將得到的哈希值與官方發布的哈希值進行比對,即可校驗軟件是否是被篡改過。

經過密碼學專家多年的研究,目前通用流行的哈希算法只有幾種,主要是 MD5 SHA1 SHA256 ,其實研究出的哈希算法還有一些,但被大家廣泛采用的主要就這幾種。

下面介紹一下計算哈希值的幾種工具:

一、微軟 Windows 系統自帶的 CMD 命令行工具

命令行工具叫做 certutil ,它的參數很多,功能很強大,計算文件哈希值的運行語法是:

certutil -hashfile filename MD5 //檢驗MD5certutil -hashfile filename SHA1 //檢驗SHA1certutil -hashfile filename SHA256 //檢驗SHA256

其中 filename 是要校驗的文件名稱,后面是哈希算法名,支持的哈希算法包括 MD2、MD4、MD5、SHA1、SHA256、SHA384、SHA512 等,”//” 后面是注釋說明,使用時不需要輸入,運行示例如下圖所示:

二、微軟 Windows 系統自帶的 PowerShell 命令行工具

微軟 Windows 系統自帶PowerShell,計算文件哈希值的命令是 get-filehash,使用方法示例如下:

get-filehash filename -Algorithm MD5 | Format-Listget-filehash filename -Algorithm SHA1 | Format-List

-Algorithm 后面是哈希算法名,支持MD5、SHA1、SHA256、SHA384、SHA512、MACTripleDES、RIPEMD160 等多種哈希算法, | Format-List ,是為了美化輸出結果樣式,也可以不用寫 。

為了方便使用,我們做成了右鍵菜單項,可以快捷地使用該命令計算希哈值。

三、MyHash 是一款采用并行計算,充分利用多核CPU性能,快速計算文件哈希值的工具

功能特點:
1、只支持常用的CRC32、MD5、SHA1、SHA256、SHA512算法;
2、支持多核CPU并行計算,大幅提高計算速度;
3、支持多個文件或文件夾拖放操作;
4、支持參數啟動(參數為一個或多個文件或文件夾路徑);
5、支持保存個人設置(默認保存在注冊表,如果存在同名ini文件,則保存在ini文件);
6、支持哈希值比較(字符串查找功能);
7、支持停止、重新開始計算操作;
8、支持Windows7任務欄進度條效果;

發布地址(非開源):
https://github.com/drag0n-app/MyHash

四、Fhash 是一個開源的希哈值計算器,支持 Windows 和 macOS 平臺,并且上架了微軟應用商店.

功能特點

  • 支持 MD5, SHA1, SHA256 和 SHA512.
  • 支持文件拖拽.
  • 支持添加右鍵菜單,并且商店應用版支持新版右鍵菜單.
  • 支持 Windows 7 (僅 2.x), Windows 10 (1903) 或更高版本 (x64 和 arm64).
  • 支持 macOS 11 或更高版本.
  • 支持黑暗模式.
  • 支持中英文界面切換.

項目地址:
https://github.com/sunjw/fhash

應用商店地址:
https://apps.microsoft.com/store/detail/fhash/9P4CLCRV93DQ

經典版

應用商店版

五、軟媒文件大師 v1.1.6.0

軟媒文件大師是一款電腦文件管理工具,軟件提取自軟媒魔方,體積非常小巧只有400K,軟件功能非常實用,具有文件粉碎、文件檢驗、文件分割合并、文件解鎖以及圖片種子合成等多種功能,能幫助用戶很好的對文件進行管理。

官方網站:
https://mofang.ruanmei.com/

六、開源的 HashTool,基于 C# 語言開發,Visual Studio 構建

HashTool 支持文件、文件夾或文本的哈希計算,選擇多種算法時采用并行計算,此外還提供了結果導出和對比框校驗功能,支持高分辨率 DPI 的屏幕,但是有點小問題有時候無緣無故遇到 Bug 崩潰。

功能介紹:

  • 模式:共有 3 種模式(文件、文件夾、文本)。其中“文件夾”模式下只會計算此文件夾內的文件,不會計算其子文件夾內的文件。
  • 輸入:在上面的輸入框輸入“文件路徑”、“文件夾路徑”或“文本”,并選擇相應模式進行計算。可以拖放“文件”或“文件夾”到此自動獲取路徑,也可以點擊右上角“瀏覽…”按鈕獲取“路徑”。
  • 算法:提供了多種算法(CRC32MD4MD5SHA1SHA2 系列SHA3 系列Blake2B 系列Blake2S 系列Keccak 系列QuickXor)。
  • 字符編碼:在文本模式下,可以選擇文本的編碼格式。
  • 查看結果:查看當前的計算結果,在“查看結果”按鈕的下拉欄里有“查看歷史結果”用來查看全部歷史結果。
  • 保存結果:支持 4 種格式:yamljsontxtxml。在“保存結果”按鈕的下拉欄里有“保存歷史結果”用來保存全部歷史結果。
  • 對比。在最下方的兩個文本框輸入哈希值自動對比,不區分大小寫。
  • 進度條:主進度條顯示計算當前任務進度,左側副進度條用來顯示總體任務進度。

項目地址:
https://gitee.com/KiyanYang/HashTool/

七、Hash v1.04 小巧玲瓏僅 29KB 大小

這個軟件歷史比較悠久了,軟件非常小巧,僅 29KB 大小,漢化版 67KB大小,缺點就是支持的算法少,不支持高分辨率。

官方網站:
https://keir.net/software.html

八、Hasher Pro 3.3.0 一個中規中矩的希哈值計算器

官方網站:
http://www.den4b.com/products/hasher

九、開源 HashCheck 屬性標簽頁集成式希哈值計算器

前面介紹的都是獨立軟件形式的,還有的是資源管理器插件形式的,就是開源的 HashCheck,屬性標簽頁集成。

如何卸載?該軟件需要在控制面板的程序與功能里面卸載。

項目地址:
https://code.kliu.org/hashcheck/

新項目地址:
https://github.com/gurnec/HashCheck

十、HashTab v6.0.0.34 屬性標簽頁集成式希哈值計算器

和上一個差不多,不過這是一個商業軟件。

下載地址

介紹了那么多 Hash 希哈值計算工具,下面匯總了這些軟件安裝包,大家可以選擇合適的軟件使用。

好軟推薦·文件校驗 Hash 希哈值計算小工具匯總分享
百度網盤:https://pan.baidu.com/s/1HJii1OslsxL-cOlZC5iTHw?pwd=z5ar
123云盤:https://www.123pan.com/s/PjcA-mfNRA.html
夸克云盤:https://pan.quark.cn/s/16d7fa0173ee