郭建偉
當我們發(fā)布文件時,為了防止文件內(nèi)容被隨意修改,往往使用一定的校驗算法,計算出文件的校驗代碼,隨同該文件同時發(fā)布。這樣使用者得到該文件后,通過簡單的校驗和比較操作,即可得知該文件是否是“原裝”,如果校驗值不一致的話,就說明文件被人修改過了(例如捆綁了木馬等)。實際上,在很多正規(guī)的下載網(wǎng)站中,都會針對不同的下載資源提供諸如SHAl、MD5、CRC32等校驗碼,用戶可以據(jù)此對下載到的文件進行檢測,如果原校驗碼和計算出的校驗碼不符,說明數(shù)據(jù)發(fā)生了不可知的變動,用戶就要小心應對了。
一、文件校驗的原理
所謂校驗碼,通常由一定長度的字符串組成,這些字符串是經(jīng)過特定的驗證程序,針對目標數(shù)據(jù)計算產(chǎn)生的。這樣,只要文件內(nèi)容不發(fā)生變化,校驗碼也不會發(fā)生變動。與之相反,如果目標數(shù)據(jù)被修改過,哪怕是非常細微的變動,其對應的校驗碼必然發(fā)生變化。例如,當我們安裝Windows系統(tǒng)時,如果針對下載的系統(tǒng)鏡像文件進行測算,其校驗碼和微軟提供的校驗碼數(shù)值不符,就說明其不是微軟原版安裝文件。
二、快速進行文件校驗
對文件進行校驗的方法有很多,最快捷易用的莫過于HashTab了,其可以讓用戶利用右鍵菜單,快速計算目標文件的校驗碼。該軟件由一些動態(tài)庫組成,將其解壓后,執(zhí)行安裝操作,其會自動完成相關組件的注冊操作。當其安裝完畢后,在目標文件的右鍵菜單中點擊“屬性”項,在打開窗口的“hashTab”面板(如圖1)中即會顯示該文件的校驗信息,HashTab支持CRC32、MD5以及SHA-1等算法,會分別顯示與之對應的校驗值,用戶查看起來很方便。
此外,HashTah還支持文件比較功能,先在列表中選擇合適的算法,之后點擊“選擇比較文件”按鈕,選擇其他的文件,HashTab會將兩者的校驗碼進行計算和比較,如果不相符,則會顯示紅色的叉子圖標,說明兩者存在差異。如果您認為HashTab只支持以上三種校驗算法,那就有些低估其能力了。點擊“選項”鏈接,在選項窗口(如圖2)中的“選擇需要的算法”列表中提供了十幾種校驗算法,其默認只選擇了以上三種算法,用戶可以根據(jù)需要選擇所需的其他算法,或者點擊“選擇全部”按鈕,選擇所有的校驗算法。
三、輕輕一拖,輕松校驗文件
在Windows中,利用鼠標拖動,可以靈活的執(zhí)行文件復制操作。同樣的,使用Hash文件校驗工具這款小軟件,可以讓您通過簡單的拖動操作,就可以快速的計算文件的校驗值。打開其主界面(如圖3),將需要計算的文件拖動到其中,該工具就會快速對其進行計算,顯示諸如版本、日期,以及MD5、SHA1、CRC32deng校驗值。您不僅可以拖動單個文件,還可以拖動多個文件進行快速計算,使用起來很靈活。Hash校驗工具這款小T具也提供類似的計算功能,兩者界面和使用方法基本一致,所不同的是,后者可以支持SHA256校驗算法(如圖4),比較適合一些特殊的計算場合。
四、最強悍的校驗工具
同其他的校驗軟件相比,EasyHash這款綠色的免費軟件的功能更為強大,可以讓您輕松擁有幾乎所有校驗算法,它支持AP Hash、BP Hash、CK SUMMPEG-2,F(xiàn)NV 0 8-1024,GHash5,GOST,Haval128(3-5)、JHash、MD-5、Murmur、Pearson Hash、RIPEMD128等130多種校驗算法,可以讓您更加靈活的執(zhí)行文件校驗操作。下載地址:http://ziin.pl/downioad/easy—hash_23.exe。
在Easy Hash主窗口(如圖5)中點擊菜單“File→Open files”項,選擇所需的文件(可多選),之后在主窗口列出導入的文件信息,在工具欄最右側的列表中顯示其內(nèi)置的所有算法,選擇合適的校驗算法,之后點擊工具欄上第五個按鈕(或者點擊F9鍵),Easy Hash即可使用預設算法,計算所有文件的校驗值,在“Hash”列中顯示具體的校驗值。Easy Hash校驗的速度很快,即使對于體積為4GB的大文件來說,也可以迅速完成校驗操作。點擊“Ctrl+S”鍵,可以保存校驗信息。點擊工具欄上的第七個按鈕,在設置窗口中的“Favourite algorithms”欄中顯示所有的校驗算法,從中可以勾選最初常用的算法,或者點擊“Mostpoplar”按鈕,來自動選擇最流行的校驗算法。
在“File association”欄中點擊“Register”按鈕,可以讓校驗文件(例如后綴為“.eh、.md5、.shal”等)和EasyHash建立關聯(lián),這樣直接點擊上述文件類型,即可自動打開EasyHash顯示對應的校驗信息。對于選定的常用校驗算法,在Easy Hash主窗口的校驗算法列表中可以加粗顯示,這樣便于您迅速找到所需的算法。Easy Hash不僅可以校驗文件,還可以校驗文本信息。點擊“Ctrl+T”鍵,在彈出窗口的“Input text”欄中輸入文本信息,在校驗列表中選擇合適的算法,點擊“Calculate”按鈕,在“Output text”欄中即可顯示校驗值,點擊“Copy to clipboard”按鈕,可以將其復制到剪切板上。
五、赤手空拳,實現(xiàn)文件校驗
實際上,除了使用第三方的校驗工具外,Windows其實已經(jīng)內(nèi)置了校驗丁具。例如在Windows10中,可以在PowerShell環(huán)境中使用專用的命令進行數(shù)據(jù)校驗操作。點擊開始菜單中的“附件”菜單,打開“Windows Power Shell”項,在PowerShell窗口命令執(zhí)行校驗命令,其格式為“Get-FileHash文件路徑丨Format-List”,來計算目標文件的SHA256校驗碼。例如執(zhí)行“Get-FileHash”c:\folder\file.wim”I Format-List”命令,可以顯示指定文件的SHA256校驗值。使用“GetFiieHash文件路徑-Algorithm驗證內(nèi)容I Format-List”命令格式,將“驗證內(nèi)容”替換為“SHA1”“MD5”等多種參數(shù),可以算出對應類型的校驗碼。例如執(zhí)行“GetFileHashf”c:\folder\file.ison-Algorithm md5l Format-List”命令,可以顯示指定文件的MD5校驗值。注意,使用上述PowerShell命令不能進行CRC32算法校驗。endprint