CentOS 系統(tǒng)中校驗(yàn)下載文件的完整性方法(MD5,SHA1)
2016-10-17 20:51:11
16118
MD5校驗(yàn)
原理:對(duì)文件進(jìn)行MD5 Hash,求出文件的MD5哈希值,通過(guò)下載后文件MD5哈?值和發(fā)布者提供的MD5哈希值是否一致來(lái)判斷文件是否在發(fā)布者發(fā)布之后被篡改過(guò)。
說(shuō)明:壽命老長(zhǎng)的一個(gè)Hash算法,適用范圍廣,網(wǎng)站存儲(chǔ)密碼也經(jīng)常使用。不同的文件產(chǎn)生的MD5哈希值是唯一的,但這點(diǎn)已經(jīng)有辦法通過(guò)對(duì)文件進(jìn)行少量的修改,讓文件的MD5后的哈希值保持一致。
使用:在CentOS下,要對(duì)文件進(jìn)行MD5 Hash是很簡(jiǎn)單的,一個(gè) md5sum 命令即可:
$是終端提示符,非輸入.
#號(hào)是注釋
沒(méi)有提示符的是輸出
#直接輸出MD5 Hash
$ md5sum your-downloaded-file-name
fd4a1b802373c57c10c926eb7ac823d8 your-downloaded-file-name
#將MD5 Hash值保存到md5-hash.txt文件中.
$ md5sum your-downloaded-file-name > md5-hash.txt
# 顯示輸出的md5-hast.txt內(nèi)容
$ cat md5-hash.txt
fd4a1b802373c57c10c926eb7ac823d8 your-downloaded-file-name
# 通過(guò)md5-hash.txt來(lái)校驗(yàn)?zāi)阆螺d的文件是否正確
$ md5sum -c md5-hash.txt
your-downloaded-file-name: OK
你是文件的發(fā)布者話(huà),你可以通過(guò)md5sum把文件的哈希值發(fā)送?驗(yàn)證者,這樣下載你文件的人就可以通過(guò)MD5哈希值來(lái)驗(yàn)證你的文件正確性。反過(guò)來(lái),我們?cè)诰W(wǎng)站上下載文件之后,同時(shí)可以獲取發(fā)布者的MD5哈希值和本地生成的Hash值對(duì)比,如果一致,認(rèn)為文件是正確的。
SHA1校驗(yàn)
原理: 原理同MD5一樣,都是通過(guò)對(duì)文件進(jìn)行HASH求值,比對(duì)文件發(fā)布者發(fā)布的HASH值,通過(guò)是否相等判斷文件是否被篡改
說(shuō)明: SHA1 HASH求值方法可以說(shuō)是MD5的一個(gè)升級(jí)版本(SHA1 20位,MD5 16位),在HASH求值方面,MD5退出的舞臺(tái)將有SHA1占據(jù)。SHA家族有五個(gè)算法:SHA-1、SHA-224、SHA-256、SHA-384,和SHA-512,后四種有時(shí)候稱(chēng)為SHA2
使用: CentOS有SHA1的命令: sha1sum
$是終端提示符,非輸入.
#號(hào)是注釋
沒(méi)有提示符的是輸出
# 直接輸出SHA1 Hash
$ sha1sum your-downloaded-file-name
12dc96cbd822598c1230c87622f3591461a77227 your-downloaded-file-name
# 將SHA1 Hash值保存到文件中
$ sha1sum your-downloaded-file-name > sha1-hash.txt
# 顯示文件內(nèi)容
$ cat sha1-hash.txt
12dc96cbd822598c1230c87622f3591461a77227 your-downloaded-file-name
#通過(guò)sha1-hash.txt來(lái)校驗(yàn)我們下載的文件your-downloaded-file-name
# 注意,文件必須要要通過(guò)txt文件中的路徑知道哦
$ sha1sum -c sha1-hash.txt
your-downloaded-file-name: OK
這個(gè)SHA1和MD5基本一致,需要補(bǔ)充說(shuō)明下的是,在使用 md5sum 也好,還是 sha1sum 也罷,校驗(yàn)文件的時(shí)候,務(wù)必要讓系統(tǒng)能夠根據(jù)文件中提供的路徑找到文件,如果文件找不到,是沒(méi)有辦法進(jìn)行校驗(yàn)的。
如果是做多個(gè)文件的Hash校驗(yàn),可以通過(guò)一個(gè)文件保存多個(gè)文件的Hash值即可。
會(huì)員登錄
賬號(hào)登錄還沒(méi)有賬號(hào)?立即注冊(cè)