學(xué)習(xí)啦>學(xué)習(xí)電腦>操作系統(tǒng)>Linux教程>

如何檢測(cè)Linux系統(tǒng)已下載文件的完整性

時(shí)間: 孫勝652 分享

  因?yàn)長(zhǎng)inux系統(tǒng)安裝軟件較為復(fù)雜,如果下載的軟件被修改過(guò)的話安裝起來(lái)就十分麻煩,校檢Linux系統(tǒng)下載文件的完整性就變得十分重要,下面學(xué)習(xí)啦小編就給大家介紹下如何校檢Linux系統(tǒng)中下載文件的完整性。

  校驗(yàn)方法當(dāng)前一般是MD5,SHA1,PGP三種。在Windows那個(gè)漫長(zhǎng)的歲月里(滄桑有木有),一般只能接觸到前兩種——前提是你會(huì)去校驗(yàn)的話。

  PGP校驗(yàn)

  原理:使用非對(duì)稱加密,程序生成唯一的密鑰對(duì)(公鑰和私鑰:Public Key和Private Key/Secret Key)。操作方法如下:

  1.發(fā)布者通過(guò)用生成的密鑰對(duì)中的私鑰對(duì)要發(fā)布的文件進(jìn)行簽名,得到簽名文件(sign);

  2.發(fā)布者將密鑰對(duì)中的公鑰發(fā)布到公鑰服務(wù)器;

  3.發(fā)布者將文件和用私鑰生成的簽名一起發(fā)布;

  4.驗(yàn)證者下載發(fā)布者發(fā)布的文件和簽名;

  5.使用PGP的程序獲取的發(fā)布者第二步發(fā)布的公鑰;

  6.使用公鑰校驗(yàn)文件簽名

  說(shuō)明:簽名算法中,密鑰的用處分別是:公鑰用于加密信息和驗(yàn)證,私鑰用于解密和簽名。私鑰掌握在信息發(fā)布方,公鑰可以任意分發(fā)。信息發(fā)布方用密鑰進(jìn)行對(duì)信息進(jìn)行簽名,接收方在獲取公鑰后,可以用公鑰對(duì)發(fā)布方發(fā)布的信息+簽名進(jìn)行驗(yàn)證。如果驗(yàn)證失敗則認(rèn)為信息被篡改。在網(wǎng)絡(luò)中,我們經(jīng)常碰到的HTTPS協(xié)議,使用了同樣的機(jī)制。

  使用:由于PGP是商業(yè)應(yīng)用程序,在CentOS/Linux中,具有同類功能的是GPG(也就是:GnuPG),同樣遵守OpenPGP數(shù)據(jù)加密標(biāo)準(zhǔn)( RFC 4880 ),沒(méi)有安裝可以用 yum install gnupg 安裝,命令是: gpg

  代碼如下:

  # 說(shuō)明同上

  # 由于過(guò)程相對(duì)復(fù)雜,并且在實(shí)際使用中,校驗(yàn)用的比較多,因此這里只介紹文件的校驗(yàn)過(guò)程。

  # 在獲得文件和簽名時(shí),我們先用gpg校驗(yàn)簽名,此時(shí)文件必須存在

  $ gpg --verify downloaded-file-sign.asc

  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《/p》 《p》#將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《/p》 《p》# 通過(guò)md5-hash.txt來(lái)校驗(yàn)?zāi)阆螺d的文件是否正確

  $ md5sum -c md5-hash.txt

  your-downloaded-file-name: OK

  你是文件的發(fā)布者話,你可以通過(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í)候稱為SHA2

  使用: CentOS有SHA1的命令: sha1sum

  代碼如下:

  # 說(shuō)明同上

  # 直接輸出SHA1 Hash

  $ sha1sum your-downloaded-file-name

  12dc96cbd822598c1230c87622f3591461a77227 your-downloaded-file-name《/p》 《p》# 將SHA1 Hash值保存到文件中

  $ sha1sum your-downloaded-file-name 》 sha1-hash.txt

  # 顯示文件內(nèi)容

  $ cat sha1-hash.txt

  12dc96cbd822598c1230c87622f3591461a77227 your-downloaded-file-name《/p》 《p》#通過(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值即可。

如何檢測(cè)Linux系統(tǒng)已下載文件的完整性

因?yàn)長(zhǎng)inux系統(tǒng)安裝軟件較為復(fù)雜,如果下載的軟件被修改過(guò)的話安裝起來(lái)就十分麻煩,校檢Linux系統(tǒng)下載文件的完整性就變得十分重要,下面學(xué)習(xí)啦小編就給大家介紹下如何校檢Linux系統(tǒng)中下載文件的完整性。 校驗(yàn)方法當(dāng)前一般是MD5,SHA1,PG
推薦度:
點(diǎn)擊下載文檔文檔為doc格式

精選文章

  • Linux中啟動(dòng)weblogic服務(wù)器報(bào)錯(cuò)怎么辦
    Linux中啟動(dòng)weblogic服務(wù)器報(bào)錯(cuò)怎么辦

    Linux系統(tǒng)操作中,在啟動(dòng)weblogic受管服務(wù)器時(shí)提示報(bào)錯(cuò),其中有兩種報(bào)錯(cuò)是比較常見(jiàn)的,下面學(xué)習(xí)啦小編就給大家介紹下Linux下啟動(dòng)weblogic受管服務(wù)器兩大常

  • Linux下route命令怎么用
    Linux下route命令怎么用

    當(dāng)你在Linux系統(tǒng)操作中需要顯示路由表的時(shí)候,將會(huì)接觸到route命令,那么route命令還有哪些用法呢?下面學(xué)習(xí)啦小編就給大家介紹下Linux中如何使用route命令

  • Linux如何用iptables命令配置防火墻
    Linux如何用iptables命令配置防火墻

    通常系統(tǒng)都有自帶防火墻,防火墻的存在讓系統(tǒng)的安全有了保障,下面學(xué)習(xí)啦小編要給大家介紹的是如何使用iptables命令為L(zhǎng)inux系統(tǒng)配置防火墻,一起來(lái)學(xué)習(xí)

  • Linux中history命令怎么用
    Linux中history命令怎么用

    Linux中history命令用于查看已使用過(guò)的命令,在Linux系統(tǒng)操作中經(jīng)常會(huì)用到,也是初學(xué)者必須要掌握的命令,下面學(xué)習(xí)啦小編就給大家介紹下Linux中history命令

312255