校验和是用作在数据正确数字的总和,其可以稍后用于存储或传输期间检测数据中的错误的一个数字。MD5( 消息摘要5)的款项可以用作校验和,以验证文件或字符串在Linux的文件系统 。
MD5校验和是128位的字符串(数字和字母)运行对特定文件的MD5算法得出。 MD5算法是一个流行的散列函数,它生成128位消息摘要,称为散列值,当为特定文件生成一个时,无论其生成的次数如何,它在任何机器上都保持不变。
通常很难找到导致相同字符串的两个不同的文件。 因此,你可以使用的md5sum通过确定你下载的文件或ISO是位对位远程文件或ISO的副本,检查数字数据的完整性。
推荐阅读: 进度-为(CP,MV,DD,tar等)监测进展的Linux命令
在Linux中,md5sum程序计算并检查文件的MD5哈希值。 它是GNU Core Utilities包的组成部分,因此预装在大多数(如果不是所有)Linux发行版上。
看看的内容/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下面如下会生成该文件的哈希值:
$ md5sum groups.csv bc527343c7ffc103111f3a694b004e2f groups.csv
当您尝试通过删除第一线,改变文件的内容root:x:0:
然后第二次运行命令,尝试观察哈希值:
$ md5sum groups.csv 46798b5cfca45c46a84b7419f8b74735 groups.csv
你会注意到哈希值现在已经改变,表明文件的内容被改变。
现在,放回文件的第一行root:x:0:
重命名为group_file.txt,并运行如下命令再次生成散列值:
$ md5sum groups_list.txt bc527343c7ffc103111f3a694b004e2f groups_list.txt
从上面的输出,即使文件已被重命名,其哈希值仍然是相同的,具有其原始内容。
重要提示 :MD5校验和只验证与该文件内容,而不是文件名/工作。
该文件groups_list.txt是groups.csv的重复,因此,试图在同一时间,以产生所述文件的散列值如下。
你会看到他们都有相等的哈希值,这是因为他们有完全相同的内容。
$ md5sum groups_list.txt groups.csv bc527343c7ffc103111f3a694b004e2f groups_list.txt bc527343c7ffc103111f3a694b004e2f groups.csv
您可以将文件的哈希值重定向到文本文件并存储,与其他人共享。 对于上面的两个文件,您可以发出以下命令将生成的哈希值重定向到文本文件中供以后使用:
$ md5sum groups_list.txt groups.csv > myfiles.md5
要检查自创建校验和后文件未被修改,请运行下一个命令。 您应该能够查看每个文件的名字伴随着“OK”。
建议阅读: 在Linux的内存使用情况显示,前15道工序
该-c
或--check
选项告诉MD5SUMS命令来读取文件MD5和检查。
$ md5sum -c myfiles.md5 groups_list.txt: OK groups.csv: OK
请记住,创建校验后,不能重命名这些文件,否则你会得到一个“ 没有这样的文件或目录 ”的错误,当您尝试验证与新名称的文件。
例如:
$ mv groups_list.txt new.txt $ mv groups.csv file.txt $ md5sum -c myfiles.md5
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
这个概念也适用于琴弦一样,在下面的命令, -n
手段不输出其后的换行符:
$ echo -n "youcl How-Tos" | md5sum - afc7cb02baab440a6e64de1a5b0d0f1b -
$ echo -n "youcl How-To" | md5sum - 65136cb527bff5ed8615bd1959b0a248 -
在本指南中,我向您展示了如何为文件生成哈希值,创建一个校验和,以便以后在Linux中验证文件完整性。 尽管已经检测到MD5算法中的安全漏洞,但是MD5哈希值仍然有用,尤其是如果您信任创建它们的那一方。
因此,验证文件是系统上文件处理的一个重要方面,以避免下载,存储或共享损坏的文件。 最后但并非最不重要的,像往常通过下面的评论表达到我们寻求任何帮助,你可以提出一些重要的建议,以改善这篇文章。