您當前的位置:首頁 > 攝影

MD5 SHA1 SHA256 等雜湊(hash)校驗碼簡介及檔案雜湊值獲取工具介紹

作者:由 四點起床 發表于 攝影時間:2023-01-23

很多人下載一些軟體的時候,在一些下載網站尤其是官方有可能在下載地址的旁邊附帶有 md5 sha1 等一串字串。可能有些人不明白這是啥意思,有啥用?

這些 MD5 SHA1 SHA256 等字串被稱為雜湊校驗碼,提供這些程式碼是可以用來驗證使用者從各種非官方渠道下載的軟體是否是沒被修改過的原版,從而防止軟體被某些人進行篡改,夾帶私貨。

雜湊的英文是 hash ,中文可以翻譯為雜湊,就是採用設定好的演算法對輸入的資料(在此指檔案內容)進行計算得到一串字串輸出結果的方法。使用的演算法又稱為雜湊函式或雜湊演算法,關於雜湊演算法的研究屬於密碼學的研究領域。

雜湊計算是一種單向密碼演算法,即從明文到密文是不可逆的,只有加密過程,沒有解密過程。雜湊演算法的結果通常很小,一般為 32位 或 64位 十六進位制字串等形式。雜湊演算法的特點之一是高靈敏性,也就是說輸入資料的微小變化,雜湊演算法輸出結果就會完全不同。

因此,如果官方原版的軟體釋出後被人為進行了修改,這種魔改版透過雜湊演算法計算得到的雜湊值,肯定與官方原版的雜湊值是不同的。

雜湊演算法可以用來校驗接受者接收到的資訊或資料的準確性。官方在釋出軟體的時候,可以同時釋出該軟體的雜湊值,以便於使用者辨別真偽是否官方原版。使用者可以將下載軟體透過雜湊工具進行處理,將得到的雜湊值與官方釋出的雜湊值進行比對,即可校驗軟體是否是被篡改過。

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

下面介紹一下計算雜湊值的幾種工具,至於這些雜湊演算法的具體計算過程和原理,我想大部分人不需要知道,這些都是很成熟的演算法,別人早已經做好了相應的工具,我們只需要拿過來用就行了。

如果有人對演算法本身有興趣,可以參考有關的專門文章,比如 SHA256 的演算法原理可以參考下面網頁:

SHA256演算法原理詳解_隨煜而安的部落格

SHA1的演算法原理可以參考下面:

SHA1演算法原理 - chenjx_ucs - 部落格園

由於以上幾種雜湊演算法已經非常成熟被廣泛採用,所以雜湊工具也很多,這裡簡單介紹我認為比較方便的以下幾種工具:

1。 微軟Win系統自帶,不需要安裝的工具,但它是CMD命令列工具,關於命令列工具的說明和使用請參考我以前的文章 Windows系統的命令列(CLI)介紹及入門使用說明 。

這個微軟自帶的命令列工具叫做 certutil ,它的引數很多,功能很強大,下面是它的官方文件:

certutil 官方文件

不過本文這裡只介紹它的計算檔案雜湊指的功能,執行語法是:

certutil -hashfile filename MD5 //檢驗MD5

certutil -hashfile filename SHA1 //檢驗SHA1

certutil -hashfile filename SHA256 //檢驗SHA256

其中 filename 是要校驗的檔名稱,後面是雜湊演算法名,支援的雜湊演算法包括 MD2、MD4、MD5、SHA1、SHA256、SHA384、SHA512 , //以及後面是註釋說明,使用時不需要輸入,執行示例如下圖所示:

MD5 SHA1 SHA256 等雜湊(hash)校驗碼簡介及檔案雜湊值獲取工具介紹

圖1

2。 微軟Win系統自帶,PowerShell 中計算檔案雜湊值的工具,關於PowerShell的說明和使用也請參考以前的文章 Windows系統的命令列(CLI)介紹及入門使用說明 。

PS中計算雜湊值的命令是 get-filehash ,使用方法示例如下:

get-filehash 。\rufus-3。18。exe -Algorithm MD5 | Format-List

get-filehash 。\rufus-3。18。exe -Algorithm SHA1 | Format-List

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

執行演示結果如下圖所示:

MD5 SHA1 SHA256 等雜湊(hash)校驗碼簡介及檔案雜湊值獲取工具介紹

圖2

3。 功能強大的檔案管理器 TotalCommander (簡稱TotalCMD) ,提起 TotalCommander 可能很多軟體玩家都很熟悉,它對於具有強大的檔案管理和處理功能,還支援外掛擴充套件,比Windows自帶的檔案資源管理器實在是方便和強大太多。以後可能的話我會寫一篇專文對它進行介紹和推薦。

它的雜湊計算功能在 檔案 選單下面,對話方塊如下圖3所示,雜湊計算結果儲存在相應檔案中,可以使用文字編輯器開啟該檔案檢視。

MD5 SHA1 SHA256 等雜湊(hash)校驗碼簡介及檔案雜湊值獲取工具介紹

圖3

4。 專用的 雜湊值 計算工具,我這裡只介紹兩個 fhash 和 myhash ,體積都很小,並且都是不需要安裝直接可以執行的綠色版。兩個軟體都只需要將要計算的檔案直接拖入程式視窗就可以,執行結果演示如下面 圖4和圖5 所示:

MD5 SHA1 SHA256 等雜湊(hash)校驗碼簡介及檔案雜湊值獲取工具介紹

圖4 雜湊工具 fhash 演示

MD5 SHA1 SHA256 等雜湊(hash)校驗碼簡介及檔案雜湊值獲取工具介紹

圖5 雜湊工具 myhash 演示

對於這些成熟的雜湊演算法,其他獲取雜湊值的方法也很多,比如有些壓縮軟體也可以計算雜湊值,還有一些提供雜湊值線上計算服務的網站等。另外,各種程式語言如 Python JS Java 等都有可以直接呼叫的相應雜湊函式庫。

總之,獲取檔案的雜湊值有很多方便易用的方法,獲得的雜湊值可以用來進行真偽校驗等。

標簽: 雜湊  演算法  sha1  SHA256  工具