Einzelnen Beitrag anzeigen

Rollo62

Registriert seit: 15. Mär 2007
3.937 Beiträge
 
Delphi 12 Athens
 
#1

Optimaler Hash-Algorithmus und Strategie für Dateivergleiche, Verzeichnisbaum

  Alt 3. Mai 2024, 07:24
Hallo zusammen,

ich möchte einen Verzeichnisbaum erstellen, welcher gleiche Dateien (PDF, JPG, PNG, ZIP, ...) eindeutig identifizieren kann und unabhängig vom Betriebssystem eingesetzt werden kann unter Windows, Linux (Web-Server), Macos, etc. den gleichen unverwechselbaren Fingerprint liefert.

Mein Favorit wäre MD5, weil es am schnellsten ist und weil die Aufgabe nicht sicherheitskiritisch ist.
Ich möchte nur möglichst schnell gleiche Dateien finden und zuordnen können, z.B. lokal und remote.

Andere Optionen wären:
Zitat:
Algorithmus____Vorteile_________________________Na chteile
MD5___________Schnell, breite Unterstützung_____Anfällig für Kollisionen, sicherheitskritisch bedenklich
SHA-1_________Weit verbreitet, sicherer_________Anfällig für spezielle Kollisionen, für viele Anwendungen bedenklich
SHA-256_______Hohe Sicherheit, Gute Leistung____Langsamer als vorherige, Hash-Länge 256 Bits kann zu lang werden
SHA-3_________Resistenter, Flexible Länge_______Kann langsamer sein als SHA-2
BLAKE2________Schnell, effizient, sicher_________Optionale variablere Hash-Länge, weniger verbreitet
...
Es geht um überschaubare Anzahl von Dateien, so 100K bis 1 Mio., wobei die Wahrscheinlichkeit von Kollisionen auch bei MD5 eher gering ist.
Bei einer Kollision müsste man dann zusätzlich prüfen, ob es eine echte Kollision ist, oder nicht.

Vielleicht ist die richtige Strategie dann MD5 - Kollision => Prüfe Datei binär.

Hat jemand Erfahrung mit solchen Verzeichnisbäumen und Dateivergleichen, geht es noch effizienter?
  Mit Zitat antworten Zitat