已编辑 3 几周前 通过 ExtremeHow 编辑团队
翻译更新 4 几小时前
在从互联网上下载软件或文件时,验证校验和是一个重要的过程。校验和使您能够确保下载的文件正是您打算下载的文件,没有任何损坏和更改。许多软件发行版会随下载一起提供校验和。这些通常以MD5、SHA-1或SHA-256哈希格式提供。在Ubuntu(一个流行的Linux发行版)上,这个验证过程非常简单。在本指南中,我们将详细介绍如何在Ubuntu系统上验证MD5、SHA-1和SHA-256校验和。
校验和是一串通过对文件运行特定算法生成的数字和字母序列。它充当文件的数字指纹或唯一值。当文件发生更改时,这个唯一的数字指纹也会更改。
当开发者为文件提供校验和时,他们是在给您一种方法去核实该文件在下载过程中没有被篡改或损坏。MD5、SHA-1和SHA-256是哈希函数家族中的一部分,可以接收输入并创建固定大小的字节串。这个固定大小的字符串就是校验和。
在我们进一步进行操作之前,确保您已在Ubuntu系统上打开并准备好了终端。这个练习包括命令行说明。
当您下载一个文件时,请检查网站是否提供MD5校验和。这通常会与下载链接一起列出。它可能看起来像这样:
c157a79031e1c40f85931829bc5fc552
一旦您知道了源文件提供的MD5校验和,您需要生成下载文件的校验和。打开终端并运行以下命令:
md5sum path_to_your_file
将path_to_your_file
替换为您下载的文件的路径。例如,如果文件在您的下载文件夹中,命令将如下所示:
md5sum ~/Downloads/filename.ext
运行命令后,终端将返回一串与给定MD5校验和相同的文本。将此生成的字符串与源提供的字符串进行比较。如果两个字符串匹配,文件未被损坏和改变。
与MD5一样,注意下载页面上列出的SHA-1校验和。它应如下所示:
2bb80d539a9f7e2e2d20b4508f6a3eed17abe1df
在终端中运行以下命令以生成SHA-1校验和:
sha1sum path_to_your_file
如前所述,将path_to_your_file
替换为实际文件的路径。以下是一个示例:
sha1sum ~/Downloads/filename.ext
执行命令后,输出应提供一个您将与来源提供的SHA-1校验和进行比较的字符串。两个值相等表示文件完整性验证成功。
SHA-256校验和通常为软件下载提供。典型的SHA-256校验和看起来像这样:
ca978112ca1bbdcafac231b39a23dc4da786eff8167a7e8820bde9681d23beaa
要创建文件的SHA-256校验和,请执行以下命令:
sha256sum path_to_your_file
同样,将path_to_your_file
替换为您要检查的文件路径。例如:
sha256sum ~/Downloads/filename.ext
该工具将提供一个校验和,您必须将其与来源提供的校验和进行比较。校验和匹配意味着您有一个正确的、未损坏的文件。
在使用校验和时需要注意一些事项。首先,校验和验证不会提供关于文件真实性的信息。相反,它只验证文件在传输过程中是否已更改或损坏。始终确保您从可信来源下载文件。
此外,虽然MD5和SHA-1校验和被广泛使用,但请记住,它们在安全性方面有些过时,尤其是MD5。现代实践更喜欢SHA-256,因为它具有更高的复杂性和对漏洞的抵抗力。在可能的情况下,请在执行验证时更倾向于SHA-256校验和。
如果您经常下载和验证文件,请考虑使用Shell脚本自动化此过程。以下是验证MD5校验和的Shell脚本的基本示例:
#!/bin/bash
read -p "Enter the path to the file: " filepath
read -p "Enter the provided MD5 checksum: " expected_checksum
calculated_checksum=`md5sum $filepath | awk '{ print $1 }'`
if [ "$calculated_checksum" = "$expected_checksum" ]; then
echo "Checksums match. File is verified."
else
echo "Checksums do not match. File may be corrupted or altered."
fi
将上述脚本保存到文件中,使用chmod +x scriptname.sh
使其可执行,并运行它以简化校验和验证。
在验证校验和时,您可能会遇到一些问题。以下是一些常见问题及其解决方案:
sudo apt-get install coreutils
来安装它们。在Ubuntu上验证MD5、SHA-1和SHA-256校验和是维护文件完整性的重要步骤。它可以保护您免受下载损坏和潜在的安全风险。虽然简单,但此过程极大地增强了数据安全性。每当下载重要文件或软件时,养成验证校验和的习惯,以确保您获得有效的、未被篡改的数据。
如果你发现文章内容有误, 您可以