Hashdeep:Linux 中文件验证的强大工具

作为一名拥有十多年经验的资深 Linux 用户,我来了这有助于系统管理、安全和取证的各个方面。

我发现特别有用的一个这样的工具是哈希深度,这是一个强大的命令行实用程序,主要用于并验证加密哈希。

在这篇文章中,我将详细了解什么哈希深度是,它是如何工作的,以及如何在 Linux 环境中有效地使用它。

什么是哈希深?

哈希深度是一种用于计算、比较和验证文件哈希值的工具,文件哈希值是通过应用哈希函数创建的唯一标识符(例如SHA-256或者MD5) 到文件的内容。这些哈希值充当“指纹” 对于文件。当两个文件具有相同的哈希值时,意味着它们的内容是相同的。

哈希深度支持多种哈希算法,例如MD5,SHA-1, 和SHA-256,使其能够灵活地适应各种用例。

它最常用于:

  • 文件完整性检查:确保文件没有随着时间的推移被篡改或损坏。
  • 数字取证:在法医调查中验证文件的完整性。
  • 备份与恢复:验证备份文件的完整性并确保恢复过程中数据的一致性。

在我们深入了解它的用法之前,让我们首先了解一下哈希深度安装在您的 Linux 系统上,大多数发行包存储库中都提供了该功能,因此安装很容易。

sudo apt install hashdeep         [On Debian, Ubuntu and Mint]
sudo yum install hashdeep         [On RHEL/CentOS/Fedora and Rocky/AlmaLinux]
sudo emerge -a sys-apps/hashdeep  [On Gentoo Linux]
sudo apk add hashdeep             [On Alpine Linux]
sudo pacman -S hashdeep           [On Arch Linux]
sudo zypper install hashdeep      [On OpenSUSE]    
sudo pkg install hashdeep         [On FreeBSD]

安装完成后就可以开始使用了哈希深度计算和验证文件哈希值。

以下是一些最常见的用例。

1. 计算文件的哈希值

最基本的用法哈希深度就是计算单个文件或者多个文件的hash。

hashdeep -c sha256 myqr.png

在此命令中:

  • -c sha256指定哈希算法(在本例中为 SHA-256)。
  • myqr.png是您要散列的文件。

您可以更换sha256和md5,sha1,或其他支持的算法,具体取决于您的偏好。

在 Linux 中计算文件哈希值

2. 在目录中递归地散列文件

您还可以使用以下命令对目录(包括子目录)中的所有文件进行哈希处理-r标志(递归):

hashdeep -c sha256 -r /path/to/your/directory
递归散列目录

3. 将哈希值保存到文件中

如果要将计算出的哈希值保存到文件中以供以后比较,可以使用-o指定输出文件的选项:

hashdeep -r ravi > hashes.txt
cat hashes.txt
将计算的哈希值保存到文件中

4. 验证文件完整性

hashdeep 最重要的用途之一是验证文件的完整性。如果您已有已知哈希值列表(例如,来自先前会话的哈希值),则可以将当前文件哈希值与这些已知值进行比较,以查看是否有任何文件已被更改。

为此,请使用以下命令来验证文件:

hashdeep -a -k hashes.txt -r /home/ravi/ravi

该命令将递归地检查“ravi” 目录中列出的哈希值hashes.txt,允许您正确验证其完整性。

验证文件完整性

5. 同时生成多个哈希值

要同时计算多种类型的哈希值(例如 MD5、SHA-1 和 SHA-256),您可以使用以下命令指定多种算法:-c旗帜:

hashdeep -c md5,sha1,sha256 -r /path/to/your/directory
计算多个哈希值
结论

哈希深度是用于文件完整性检查和数字取证的多功能且强大的工具。它对多种哈希算法、递归目录哈希和文件比较的支持使其成为从事安全、取证或系统管理工作的任何人不可或缺的实用程序。

嘿 TechMint 读者,

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

学习!

我是一位经验丰富的 GNU/Linux 专家和全栈软件开发人员,在 Linux 和开源技术领域拥有十多年的经验


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