Verlassen Sie sich nicht auf MD5-Summen.
MD5-Summen sind kein zuverlässiger Weg, um nach Duplikaten zu suchen, sondern nur, um nach Unterschieden zu suchen.
Verwenden Sie MD5s, um mögliche Kandidaten- Duplikate zu finden , und dann für jedes Paar, das sich ein MD5 teilt
- Öffnet beide Dateien
- Sucht in diesen Dateien nach vorne, bis sich eine unterscheidet.
Wenn Sie sich nur auf einen Hash-Algorithmus verlassen, sollten Sie, um Himmels willen, etwas härteres wie SHA256 oder SHA512 verwenden, zumindest verringern Sie die Wahrscheinlichkeit auf ein vernünftiger Grad, indem mehr Bits überprüft werden. MD5 ist für Kollisionsbedingungen außerordentlich schwach.
Ich rate den Lesern auch, Mailinglisten mit dem Titel "Dateiprüfung" zu lesen: http://london.pm.org/pipermail/london.pm/Week-of-Mon-20080714/thread.html
Wenn Sie sagen "MD5 kann alle Dateien eindeutig identifizieren", liegt ein logischer Fehler vor.
Bei einer Reihe von Werten, von unterschiedlicher Länge von 40.000 Bytes lang zu 100.000.000.000 Bytes in der Länge, die Gesamtzahl der Kombinationen zur Verfügung , um diesen Bereich erheblich übersteigt die mögliche Anzahl der Werte , die von MD5 dargestellt, in ein Gewicht von gerade einmal 128 Bit Länge.
Stellen Sie 2 ^ 100,000,000,000 Kombinationen mit nur 2 ^ 128 Kombinationen dar? Das halte ich nicht für wahrscheinlich.
Der am wenigsten naive Weg
Der am wenigsten naive und schnellste Weg, um Duplikate auszusortieren, ist der folgende.
- Nach Größe : Dateien mit unterschiedlicher Größe können nicht identisch sein. Dies nimmt nur wenig Zeit in Anspruch, da die Datei nicht einmal geöffnet werden muss.
- Mit MD5 : Dateien mit unterschiedlichen MD5 / Sha-Werten können nicht identisch sein. Dies dauert etwas länger, da alle Bytes in der Datei gelesen und berechnet werden müssen, aber es macht mehrere Vergleiche schneller.
- Fehlschlagen der obigen Unterschiede : Führen Sie einen byteweisen Vergleich der Dateien durch. Dies ist ein langsamer Test, weshalb er erst ausgeführt wird, nachdem alle anderen Eliminierungsfaktoren berücksichtigt wurden.
Fdupes macht das. Und Sie sollten Software verwenden, die dieselben Kriterien verwendet.