md5deep 无法处理不同目录中的重复文件

md5deep 无法处理不同目录中的重复文件

我想使用 md5deep 检查某些复制的目录是否正确复制。但似乎 md5deep 在匹配时不使用存储在生成的 .md5 文件中的文件名!

这实际上意味着,如果我复制一个大的目录结构(包含重复的文件)并且出现问题,因此一个目录包含文件(具有正确的文件名和错误的内容),那么 md5deep 将不会发现这是不匹配的!

例子:

假设我们有以下文件结构:

photos\public_photo1.jpg
photos\public_photo2.jpg
photos\private_photo1.jpg
photos\photos_my_mother_can_see\public_photo1.jpg
photos\photos_my_mother_can_see\public_photo2.jpg

如您所见,其中两张照片是重复的文件!

现在想象一下我的复制工具失败了,所以 的内容public_photo1.jpg实际上是 的内容private_photo1.jpg。目录结构仍然相同!

在我的源驱动器上,我执行以下操作来生成 MD5 文件:

md5deep64 -rel c:\photos\*.* > result.md5

(我使用相对路径!)

然后我将文件与目标文件夹匹配:

md5deep64 -X result.md5 -r c:\photosdest

未发现任何变化!

如果我进行匹配(md5deep64 -wm result.md5 -rc:\photosdest),我甚至可以看到它没有使用文件名进行比较:

c:\photosdest\photos_my_mother_can_see\public_photo1.jpg matched c:\photos\private_photo1.jpg
c:\photosdest\public_photo1.jpg matched c:\photos\photos_my_mother_can_see\public_photo1.jpg
c:\photosdest\public_photo2.jpg matched c:\photos\public_photo2.jpg
c:\photosdest\photos_my_mother_can_see\public_photo2.jpg matched c:\photos\public_photo2.jpg
c:\photosdest\private_photo1.jpg matched c:\photos\private_photo1.jpg

:-(

它是一个功能还是一个错误?

有什么方法可以强制 md5deep 比较具有相同文件名和位置的文件的 MD5 吗?...或者我应该开始寻找另一个 md5 生成器/比较器?

答案1

这是 md5deep 的一个功能,而不是错误。听起来您想使用配套程序 hashdeep。该程序随 md5deep 一起提供。

md5deep 旨在查找文件,无论文件名是什么。例如,当搜索 rootkit EVILEVIL.EXE 时,用户会希望找到任何与 EVILEVIL 具有相同哈希值的文件,即使该文件已被重命名为 fuzzykitten.exe。

另一方面,hashdeep 程序可以进行审计,检查文件大小、位置、匹配时的哈希值。

相关内容