目錄:
(一)MD5介紹
(二)md5sum命令
(三)實戰(zhàn)演練
(一)MD5介紹
(1.1)MD5即Message-Digest Algorithm 5(信息-摘要算法 第5版),用于確保信息傳輸完整一致。是計算機(jī)廣泛使用的雜湊算法之一(又名:摘要算法、哈希算法),主流編程語言普遍已由MD5實現(xiàn)。將數(shù)據(jù)運(yùn)算為另一固定長度值(十六進(jìn)制的為32位),是雜湊算法的基礎(chǔ)原理,MD5的前身有MD2、MD3和MD4。MD5的作用是大容量信息在用數(shù)字簽名軟件簽署私人密鑰前被“壓縮”成一種保密的格式(就是把一個任意長度的字節(jié)串變換成一定長的十六進(jìn)制數(shù)字串)。除了MD5以外,其中比較有名的還有sha-1、RIPEMD以及Haval等。
(1.2)在網(wǎng)絡(luò)傳輸、設(shè)備之間轉(zhuǎn)存、復(fù)制大文件等時,可能出現(xiàn)傳輸前后數(shù)據(jù)不一致的情況。這種情況在網(wǎng)絡(luò)這種相對更不穩(wěn)定的環(huán)境中,容易出現(xiàn),那么校驗文件的完整性,也是勢在必行的。
(二)md5sum命令
(2.1)md5sum命令用于生成和校驗文件的md5值,它會逐位對文件的內(nèi)容進(jìn)行校驗,校驗的是文件的內(nèi)容,與文件名無關(guān),即文件內(nèi)容相同,其md5值相同。md5值是一個128位的二進(jìn)制數(shù)據(jù),轉(zhuǎn)換成16進(jìn)制則是32位(128/4)的進(jìn)制值。md5校驗,有很小的概率不同的文件生成的md5可能相同,比md5更安全的校驗算法還有SHA系列的。在網(wǎng)絡(luò)傳輸時,我們校驗源文件獲得其md5sum,傳輸完畢后,校驗其目標(biāo)文件,并對比如果源文件和目標(biāo)文件md5一致的話,則表示文件傳輸無異常,否則說明文件在傳輸過程中未正確傳輸。
(2.2)用法:md5sum [選項] [文件],顯示或檢查MD5(128-bit)校驗和,若沒有文件選項,或者文件處為“-”,則從標(biāo)準(zhǔn)輸入讀取。校驗和會按照RFC 1321規(guī)范生成,當(dāng)進(jìn)行檢查時,給出的輸入格式應(yīng)該和程序的輸出樣板格式相同,默認(rèn)的輸出模式時輸出一行校驗和校驗結(jié)果,并有一個字符來表示文件類型(“*”代表二進(jìn)制,“ ”空格代表純文本),并同時顯示每個文件的名稱。
-b,--binary:以二進(jìn)制模式讀取
-c,--check:從文件中讀取MD5的校驗值并予以檢查
-t,--text:以純文本模式讀?。J(rèn))
以下三個選項在進(jìn)行校驗時非常有用:
--quiet:不為校驗成功的文件輸出OK
--status:不輸出任何內(nèi)容,使用退出狀態(tài)號顯示成功
-w,--warn:對格式不正確的校驗和進(jìn)行警告
--strict with,--check:exit non-zero for any invalid input
--help:顯示此幫助信息并退出
--version:顯示版本信息并退出
(2.3)我們可以使用--help查看幫助信息
# md5sum --help
(三)實戰(zhàn)演練
(3.1)獲取字符串的MD5值,字符串“hello”的MD5,我們使用md5sum用來顯示或檢查MD5(128-bit)校驗和,若沒有文件選項,或者文件出為“-”,則從標(biāo)準(zhǔn)輸入讀取,cut用來從標(biāo)準(zhǔn)輸入或文本文件中剪切列或域,剪切文本可以將之粘貼到一個文本文件,-d指定域空格和tab鍵不同的域分隔符,-f1表示第一個域。
# echo -n "hello" | md5sum | cut -d ' ' -f1---獲取字符串的MD5值
(3.2)獲取文件的MD5值,我們使用了從download.qt.io下載的源碼包qt-4.8.6,可以使用下面的命令從官網(wǎng)下載,然后再計算出文件的MD5值。
# wget http://download.qt.io/archive/qt/4.8/4.8.6/qt-everywhere-opensource-src-4.8.6.tar.gz ---將軟件從官網(wǎng)下載下來
# md5sum qt-everywhere-opensource-src-4.8.6.tar.gz | cut -d '' -f1---獲取qt-4.8.6源碼包的MD5值
(3.3)使用MD5校驗iso文件,進(jìn)行md5的校驗我們需要首先知道文件的md5值,一般來說文件的下載地址會為我們提供檢驗用的md5文件,一般來說這些文件使用如下的命令生成的,接著把qt-everywhere-opensource-src-4.8.6.tar.gz和其驗證文件qt-everywhere-opensource-src-4.8.6.tar.gz.md5放到同一目錄下(圖2-5),然后使用下面的命令進(jìn)行檢驗(圖2-6)。
# md5sum qt-everywhere-opensource-src-4.8.6.tar.gz > qt-everywhere-opensource-src-4.8.6.tar.gz.md5---使用qt-4.8.6的源碼包生成一個md5文件
# mkdir md5test---創(chuàng)建一個md5test文件
# mv qt-everywhere-opensource-src-4.8.6.tar.gz qt-everywhere-opensource-src-4.8.6.tar.gz.md5 md5test/---將qt-4.8.6的源碼包和驗證文件放到統(tǒng)一目錄下
# md5sum -c qt-everywhere-opensource-src-4.8.6.tar.gz.md5---使用md5sum檢驗下載文件的完整性
(3.4)當(dāng)然我們下載的文件,用md5進(jìn)行檢驗是檢查下載文件的完整性,自然不能用自己生成的md5校驗文件,一般來說文件的下載網(wǎng)站會為我們提供檢驗用的md5文件,其中qt-everywhere-opensource-src-4.8.6.tar.gz的md5校驗文件可以從http://download.qt.io/archive/qt/4.8/4.8.6/md5sums-4.8.6 來下載,我們可以查看md5sums-4.8.6中的內(nèi)容。
# wget http://download.qt.io/archive/qt/4.8/4.8.6/md5sums-4.8.6 ---下載校驗文件
# cat md5sums-4.8.6---查看校驗文件中的內(nèi)容
(3.5)最后我們將qt-everywhere-opensource-src-4.8.6.tar.gz軟件和md5sums-4.8.6校驗文件都放置在/root/家目錄中,然后進(jìn)行文件的校驗。此時我們發(fā)現(xiàn)第一個文件是確定存在的,其他的由于沒有下載顯示打開失敗,因此校驗有效。
# md5sum -c md5sums-4.8.6
—————— 本文至此結(jié)束,感謝閱讀 ——————
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點(diǎn)與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。
當(dāng)前標(biāo)題:【我的Linux,我做主!】淺談MD5校驗文件完整一致性-創(chuàng)新互聯(lián)
文章路徑:http://jinyejixie.com/article18/dcgpgp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供手機(jī)網(wǎng)站建設(shè)、面包屑導(dǎo)航、軟件開發(fā)、網(wǎng)站排名、商城網(wǎng)站、網(wǎng)站內(nèi)鏈
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容