如何在 Linux 中使用 MD5 校验和生成和验证文件

什么时候,确保其完整性很重要。一种方法是使用校验和,它们是从文件内容生成的唯一字符串。这MD5校验和是用于此目的最常用的方法之一。

在这篇文章中,我们将解释什么MD5就是如何为文件生成 MD5 校验和,以及如何使用这些校验和来验证文件的完整性。

MD5代表消息摘要算法5,这是一种哈希算法,它接受输入(如文件或文本)并生成 128 位哈希值。

该哈希值通常显示为 32 个字符的十六进制数,对于文件内容来说是唯一的。即使文件中的微小更改也会导致完全不同的 MD5 哈希值。

尽管MD5被广泛用于,它不再被认为对于加密目的是安全的,因为它容易受到哈希冲突(其中不同的文件可以产生相同的哈希)。然而,对于基本的文件验证,MD5 仍然有效。

如何在 Linux 中生成 MD5 校验和

要在 Linux 中为文件生成 MD5 校验和,我们可以使用 md5sum 命令。

md5sum ravi.pdf

运行命令后,您将看到如下输出:

a58b0193fcd0b85b1c85ca07899e063d  ravi.pdf

在这种情况下,a58b0193fcd0b85b1c85ca07899e063d是文件的MD5校验和ravi.zip。该字符串对于文件内容来说是唯一的。

如果您想将校验和保存在文件中以供将来使用,您可以像这样:

md5sum ravi.pdf > ravi.pdf.md5

这将创建一个名为ravi.pdf.md5包含 MD5 校验和。

如何使用 MD5 校验和验证文件

获得 MD5 校验和后,您可以使用它来验证文件是否已被更改,这在以下情况下特别有用:,因为您可以将下载文件的校验和与源提供的校验和进行比较。

您需要原始文件的 MD5 校验和,该校验和可能在您下载文件的网站上提供,也可能是您之前自己保存的。

要验证文件,请运行以下命令:

md5sum -c filename.md5

这里,filename.md5是包含您要验证的校验和的文件。例如,如果您将校验和保存在ravi.pdf.md5,命令如下所示:

md5sum -c ravi.pdf.md5

如果文件没有被修改,你会看到类似这样的内容:

ravi.pdf: OK

如果文件已更改,则输出将为:

ravi.pdf: FAILED
md5sum: WARNING: 1 of 1 computed checksums did NOT match

这意味着文件的内容与生成校验和时的内容不同,表明文件可能已损坏或更改。

如何验证多个文件的校验和

您还可以使用包含多个文件的校验和的校验和文件一次验证多个文件。例如,如果您有一个文件files.md5包含多个文件的校验和,您可以一次验证所有文件:

md5sum -c files.md5

输出将列出文件中所有文件的验证结果files.md5文件。

MD5 命令的替代方法

尽管MD5虽然很受欢迎,但也有一些缺点。如果您需要更高的安全性,您可能需要使用其他哈希算法,例如:

  • SHA-256:比 MD5 更安全,广泛用于加密应用。
  • SHA-512:甚至比 SHA-256 更强。

您可以使用sha256sum或者sha512sum生成这些校验和的命令,就像我是md5

例如,要生成 SHA-256 校验和:

sha256sum ravi.pdf

运行命令后,您将看到如下输出:

a19aea692e680dab5046618a7a9a0dac376bc1e8a8bf90430c2967067d633cf1  ravi.pdf
结论

MD5校验和是验证 Linux 中文件完整性的一种简单而有效的方法。通过使用 md5sum 生成校验和并稍后进行验证,您可以确保您的文件没有被损坏或更改。

尽管 MD5 不再被认为对于加密目的是安全的,但它仍然是用于基本文件验证任务的可靠工具。

嘿 TechMint 读者,

令人兴奋的消息!每个月,我们的顶级博客评论者都有机会赢得丰厚奖励,例如免费的 Linux 电子书,例如红细胞认证工程师,红十字会协会,LFCS,学习Linux, 和awk, 每个值20 美元

学习!

Aaron Kili 是一名 Linux 和 FOSS 爱好者、即将成为一名 Linux 系统管理员、Web 开发人员,目前是 TecMint 的内容创建者,他热爱计算机工作并坚信分享知识。


每个教程位于泰克明特由经验丰富的 Linux 系统管理员团队创建使其符合我们的高品质标准。