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