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 的特性,而不是一個 bug。聽起來你想使用配套程式 hashdeep。該程式附帶 md5deep。

md5deep 的目的是尋找文件,無論文件名稱為何。例如,在搜尋 Rootkit EVILEVIL.EXE 時,使用者可能希望找到與 EVILEVIL 具有相同雜湊值的任何文件,即使該文件已重新命名為 fuzzykitten.exe。

另一方面,hashdeep 程式可以進行審核,檢查檔案大小、位置、匹配時的哈希值。

相關內容