在Windows下檢查檔案的MD5值

我的作業系統是 Win 7 x64,在網路上下載了一個檔案,想知道下載檔案的MD5值是否跟網頁上寫的一樣。但是 Win 7 內並沒有內建可以產生MD5值的指令。

由微軟網站下 KB841290:https://www.microsoft.com/en-us/download/details.aspx?id=11533

KB841290 是一個自解壓縮檔,可以用解壓縮程式直接解壓縮,或直接點選兩下並選擇解壓的路徑。




解壓後有一個 fciv.exe 的檔案,我把檔案放在e:\底下,卻計算檔案的名稱是aa.txt,開啟 CMD 視窗,輸入下列的指令就可以計算 MD5
e:\ fciv e:\aa.txt
ac9c1fc109051ee072a0373e51b8acec “e:\aa.txt”

指令: fciv.exe [Commands] <Options>

常用參數(Options):
-exc:卻排除計算的目錄
-r:遞迴子目錄,就是一併計算子目錄的檔案
-type:指定檔案類型
-v:比對雜湊值
-xml:將計算結果加入xml檔或使用指定的xml檔
例如計算 e:\gps.conf 的MD5值並加入到 test.xml 檔
e:\fciv.exe e:\gps.conf –xml e:\test.xml
假設我將 gps.conf 修改後存檔,再例用 fciv.exe 來比對結果
e:\fciv.exe e:\gps.conf –v –xml e:\test.xml
因為修改後的 gps.conf MD5值與XML檔內MD5值的記錄不同,所以顯示如下:
List of modified files:
-----------------------
e:/gps.conf
        Hash is         : f5572e832570902e2b2641fef4e6c41f
        It should be    : b9d1ef8bb0a445f7285d3ed44187b7d9

這樣就可以知道gps.conf有被人家修改過,利用此特性可以製作一份比對檔案來比對檔案是否有被木馬修改過,當然我們要先製作原始乾淨的XML檔。