目录的哈希值

目录的哈希值

我想验证文件夹的完整性。该文件夹中有很多文件和文件夹。如何在 Ubuntu 上计算整个目录的哈希值。md5sum 仅在文件级别计算。

答案1

有关 md5sum 的列表:

find /path/to/dir/ -type f -exec md5sum {} \;

对于整体 md5 校验和

find /path/to/dir/ -type f -exec md5sum {} \; | md5sum

示例输出:

b2d5d3a5e102aae48eb6ff36c602ac75  -

注意,在具有巨大尺寸的文件夹中,这可能需要很长时间。

答案2

使用以下方式安装 md5deep

sudo apt-get install md5deep

命令

md5deep -r {direcotory}

您将获得基于目录中所有文件的哈希值。您还可以使用 md5deep 比较目录中文件的哈希值。

答案3

我创建目录指纹可用于解决该问题。它为目录树中的所有文件创建指纹/哈希并将其保存在文件中,同时告诉您指纹是否已更改。

它可以与以下设备一起安装:

$ brew install nejckorasa/tap/dir-fingerprint

并用作:

$ dir-fingerprint <path_to_directory>

输出:

Old     [8a7b73f9671004edd50500bc7d3f1837d841a5c086011207259eb2d183823adf]
New     [8a7b73f9671004edd50500bc7d3f1837d841a5c086011207259eb2d183823adf]
@       <path_to_directory>/.fingerprint
Diff    false

.fingerprint创建文件

答案4

我为此发布了一个 Python 3 包。快速使用:

$ pip install git+https://github.com/sorgloomer/pyfstools.git@main
...
$ python -m pyfstools hash .
dir 0348bd69ad78babf85960500f5482cfc6f52d7215c5b094c20bed33a17628033    

适用于 Linux、Windows,可与 S3 或 GCS 存储配合使用。更多信息请参阅pyfstools

相关内容