(一)MD5介紹
(二)md5sum命令
(三)實戰(zhàn)演練
(一)MD5介紹
(1.1)MD5即Message-Digest Algorithm 5(信息-摘要算法 第5版),用于確保信息傳輸完整一致。是計算機廣泛使用的雜湊算法之一(又名:摘要算法、哈希算法),主流編程語言普遍已由MD5實現(xiàn)。將數(shù)據(jù)運算為另一固定長度值(十六進制的為32位),是雜湊算法的基礎(chǔ)原理,MD5的前身有MD2、MD3和MD4。MD5的作用是大容量信息在用數(shù)字簽名軟件簽署私人密鑰前被“壓縮”成一種保密的格式(就是把一個任意長度的字節(jié)串變換成一定長的十六進制數(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)容進行校驗,校驗的是文件的內(nèi)容,與文件名無關(guān),即文件內(nèi)容相同,其md5值相同。md5值是一個128位的二進制數(shù)據(jù),轉(zhuǎn)換成16進制則是32位(128/4)的進制值。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)進行檢查時,給出的輸入格式應(yīng)該和程序的輸出樣板格式相同,默認(rèn)的輸出模式時輸出一行校驗和校驗結(jié)果,并有一個字符來表示文件類型(“*”代表二進制,“ ”空格代表純文本),并同時顯示每個文件的名稱。
-b,–binary:以二進制模式讀取
-c,–check:從文件中讀取MD5的校驗值并予以檢查
-t,–text:以純文本模式讀?。J(rèn))
以下三個選項在進行校驗時非常有用:
–quiet:不為校驗成功的文件輸出OK
–status:不輸出任何內(nèi)容,使用退出狀態(tài)號顯示成功
-w,–warn:對格式不正確的校驗和進行警告
–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文件,進行md5的校驗我們需要首先知道文件的md5值,一般來說文件的下載地址會為我們提供檢驗用的md5文件,一般來說這些文件使用如下的命令生成的,接著把qt-everywhere-opensource-src-4.8.6.tar.gz和其驗證文件qt-everywhere-opensource-src-4.8.6.tar.gz.md5放到同一目錄下(圖2-5),然后使用下面的命令進行檢驗(圖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進行檢驗是檢查下載文件的完整性,自然不能用自己生成的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/家目錄中,然后進行文件的校驗。此時我們發(fā)現(xiàn)第一個文件是確定存在的,其他的由于沒有下載顯示打開失敗,因此校驗有效。
# md5sum -c md5sums-4.8.6
—————— 本文至此結(jié)束,感謝閱讀 ——————
更多關(guān)于云服務(wù)器,域名注冊,虛擬主機的問題,請訪問西部數(shù)碼官網(wǎng):ps-sw.cn