linux 校验文件生成,在Linux中了解如何使用MD5校验和生成和验证文件
校驗(yàn)和是用作在數(shù)據(jù)正確數(shù)字的總和,其可以稍后用于存儲(chǔ)或傳輸期間檢測數(shù)據(jù)中的錯(cuò)誤的一個(gè)數(shù)字。MD5( 消息摘要5)的款項(xiàng)可以用作校驗(yàn)和,以驗(yàn)證文件或字符串在Linux的文件系統(tǒng) 。
MD5校驗(yàn)和是128位的字符串(數(shù)字和字母)運(yùn)行對(duì)特定文件的MD5算法得出。 MD5算法是一個(gè)流行的散列函數(shù),它生成128位消息摘要,稱為散列值,當(dāng)為特定文件生成一個(gè)時(shí),無論其生成的次數(shù)如何,它在任何機(jī)器上都保持不變。
通常很難找到導(dǎo)致相同字符串的兩個(gè)不同的文件。 因此,你可以使用的md5sum通過確定你下載的文件或ISO是位對(duì)位遠(yuǎn)程文件或ISO的副本,檢查數(shù)字?jǐn)?shù)據(jù)的完整性。
在Linux中,md5sum程序計(jì)算并檢查文件的MD5哈希值。 它是GNU Core Utilities包的組成部分,因此預(yù)裝在大多數(shù)(如果不是所有)Linux發(fā)行版上。
看看的內(nèi)容/etc/group保存為以下groups.cvs。root:x:0:
daemon:x:1:
bin:x:2:
sys:x:3:
adm:x:4:syslog,aaronkilik
tty:x:5:
disk:x:6:
lp:x:7:
mail:x:8:
news:x:9:
uucp:x:10:
man:x:12:
proxy:x:13:
kmem:x:15:
dialout:x:20:
fax:x:21:
voice:x:22:
cdrom:x:24:aaronkilik
floppy:x:25:
tape:x:26:
sudo:x:27:aaronkilik
audio:x:29:pulse
dip:x:30:aaronkilik
該命令MD5SUMS下面如下會(huì)生成該文件的哈希值:$ md5sum groups.csv
bc527343c7ffc103111f3a694b004e2f groups.csv
當(dāng)您嘗試通過刪除第一線,改變文件的內(nèi)容root:x:0:然后第二次運(yùn)行命令,嘗試觀察哈希值:$ md5sum groups.csv
46798b5cfca45c46a84b7419f8b74735 groups.csv
你會(huì)注意到哈希值現(xiàn)在已經(jīng)改變,表明文件的內(nèi)容被改變。
現(xiàn)在,放回文件的第一行root:x:0:重命名為group_file.txt,并運(yùn)行如下命令再次生成散列值:$ md5sum groups_list.txt
bc527343c7ffc103111f3a694b004e2f groups_list.txt
從上面的輸出,即使文件已被重命名,其哈希值仍然是相同的,具有其原始內(nèi)容。
重要提示 :MD5校驗(yàn)和只驗(yàn)證與該文件內(nèi)容,而不是文件名/工作。
該文件groups_list.txt是groups.csv的重復(fù),因此,試圖在同一時(shí)間,以產(chǎn)生所述文件的散列值如下。
你會(huì)看到他們都有相等的哈希值,這是因?yàn)樗麄冇型耆嗤膬?nèi)容。$ md5sum groups_list.txt groups.csv
bc527343c7ffc103111f3a694b004e2f groups_list.txt
bc527343c7ffc103111f3a694b004e2f groups.csv
您可以將文件的哈希值重定向到文本文件并存儲(chǔ),與其他人共享。 對(duì)于上面的兩個(gè)文件,您可以發(fā)出以下命令將生成的哈希值重定向到文本文件中供以后使用:$ md5sum groups_list.txt groups.csv > myfiles.md5
要檢查自創(chuàng)建校驗(yàn)和后文件未被修改,請(qǐng)運(yùn)行下一個(gè)命令。 您應(yīng)該能夠查看每個(gè)文件的名字伴隨著“OK”。
該-c或--check選項(xiàng)告訴MD5SUMS命令來讀取文件MD5和檢查。$ md5sum -c myfiles.md5
groups_list.txt: OK
groups.csv: OK
請(qǐng)記住,創(chuàng)建校驗(yàn)后,不能重命名這些文件,否則你會(huì)得到一個(gè)“ 沒有這樣的文件或目錄 ”的錯(cuò)誤,當(dāng)您嘗試驗(yàn)證與新名稱的文件。
例如:$ mv groups_list.txt new.txt
$ mv groups.csv file.txt
$ md5sum -c myfiles.md5
錯(cuò)誤信息md5sum: groups_list.txt: No such file or directory
groups_list.txt: FAILED open or read
md5sum: groups.csv: No such file or directory
groups.csv: FAILED open or read
md5sum: WARNING: 2 listed files could not be read
這個(gè)概念也適用于琴弦一樣,在下面的命令, -n手段不輸出其后的換行符:$ echo -n "Howtoing How-Tos" | md5sum -
afc7cb02baab440a6e64de1a5b0d0f1b -$ echo -n "Howtoing How-To" | md5sum -
65136cb527bff5ed8615bd1959b0a248 -
在本指南中,我向您展示了如何為文件生成哈希值,創(chuàng)建一個(gè)校驗(yàn)和,以便以后在Linux中驗(yàn)證文件完整性。 盡管已經(jīng)檢測到MD5算法中的安全漏洞,但是MD5哈希值仍然有用,尤其是如果您信任創(chuàng)建它們的那一方。
因此,驗(yàn)證文件是系統(tǒng)上文件處理的一個(gè)重要方面,以避免下載,存儲(chǔ)或共享損壞的文件。 最后但并非最不重要的,像往常通過下面的評(píng)論表達(dá)到我們尋求任何幫助,你可以提出一些重要的建議,以改善這篇文章。
總結(jié)
以上是生活随笔為你收集整理的linux 校验文件生成,在Linux中了解如何使用MD5校验和生成和验证文件的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: lex 词法分析 linux,lex语言
- 下一篇: petalinux zynq spi_Z