如何获取文件的 md5 哈希值 您所在的位置:网站首页 哈希函数怎么用于文件的完整性 如何获取文件的 md5 哈希值

如何获取文件的 md5 哈希值

2024-07-10 13:47| 来源: 网络整理| 查看: 265

如何获取文件的 md5 哈希值

Message-Digest算法,俗称md5哈希,是一种加密哈希函数,主要用于验证文件的完整性。 Md5 是对文件运行 MD5 函数后生成的 128 位消息摘要。

Md5 有其缺陷,因此对于某些加密方法来说不是一个很好的选择,但它非常适合文件验证。它的工作原理是创建文件的校验和并将结果与原始结果进行比较。这意味着如果文件发生更改,它就无法生成与原始值相似的摘要值。只要文件保持不变,无论在何处生成或生成多少次,该值都保持不变。

在本指南中,我们将了解生成文件的 md5 哈希值的方法。这将允许您从远程位置或本地计算机上验证文件的完整性。

安装 md5sum

在 Linux 和几乎主要的 Unix 和类 Unix 系统中,它们预装了 md5 工具。最常见的是 md5sum。默认情况下,您应该会发现它在您的系统中可用。

$ which md5sum /usr/bin/md5sum

如果您没有安装该工具,您可以使用系统的包管理器。

Debian/Ubuntu在 Ubuntu 和其他基于 Debian 的发行版上,使用 apt 作为:

sudo apt-get update sudo apt-get install md5sum -y

REHL/CentOS在 REHL 和 CentOS 上,使用 yum 作为:

sudo yum update sudo yum install md5sum

Arch/Manjaro如果您使用的是 Manjaro 或其他基于 arch 的发行版,请使用以下命令使用 Pacman:

sudo pacman -Sy sudo pacman -S md5sum

Fedora最后,在 Fedora 系统上,使用 dnf 命令:

sudo dnf update sudo dnf install md5sum生成文件的 Md5sum

安装该工具后,我们可以继续为文件生成 md5sum。您可以使用系统中可用的任何基本文件。在我的示例中,我使用 Linux 系统中可用的 /etc/hosts。

要生成文件的 md5sum,只需使用 md5sum 命令后跟文件名,您可以在下面的命令中看到:

sudo md5sum /etc/hosts

上述命令应生成文件的哈希值,如下面的输出所示:

f0ea6f62e5a12ed9aee557b23842c6f6  /etc/hosts

一旦文件内容发生变化,md5sum值就变得完全不同。例如,向/etc/hosts 文件添加一个值。

sudo nano /etc/hosts

将以下条目添加到文件中(随意更改为您认为合适的任何方式)。

192.168.0.20           localhost

如果您尝试使用新内容计算文件的 md5 值,如下所示:

sudo md5sum /etc/hosts

哈希值不同,如下面的输出所示:

f4b7f54d5b85a9e73e3c8960c6e9319e  /etc/hosts

如果将文件恢复为其原始内容,则 md5sum 值与原始值类似,使您可以知道文件何时发生更改。

注意:即使文件被重命名,md5 值也将与原始值相似。这是因为 md5 是根据文件内容而不是文件名计算的。

验证在线文件

假设您要验证文件的完整性并确保其防篡改。为此,您需要的只是原始 md5 值。在我的示例中,我使用来自以下资源的简单 MySQL deb 包:

https://dev.mysql.com/downloads/mysql/

使用 wget 下载文件,命令如下:

wget https://dev.mysql.com/get/Downloads/MySQL-8.0/libmysqlclient21_8.0.25-1debian10_amd64.deb

文件下载后:

现在让我们使用命令验证 md5 值:

$ md5sum libmysqlclient21_8.0.25-1debian10_amd64.deb

如果文件没有以任何方式修改,您应该获得与原始值类似的值,如下所示:

62ea69f71defbfdac7a60c124f5769c7  libmysqlclient21_8.0.25-1debian10_amd64.deb结论

本教程介绍了一种验证文件 md5 校验和并验证其修改状态的简单方法。

这是给您的一个快速练习。

锻炼

创建一个简单的 bash 脚本,每 5 分钟检查一次文件 md5 值是否有任何记录的修改。如果文件已更改,请删除该文件并关闭系统。

这应该是一个有趣的练习!



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有