# Datei Inhalt vergleichen (schnell & effizient!)



## JayJay (1. Okt 2007)

Schönen guten Abend,


wie kann ich schnell und effizient prüfen ob sich der Inhalt einer Datei geändert hat? Bitte nicht per Datumsänderung - das geht aus bestimmten Gründen nicht. D.h. ich muss wirklich den Inhalb prüfen.

PS: Bitte auch nicht nur über die "standard" Abfrage size1 != size2.


Also was ich mir überlegt habe ein Md5 hash-wert zu bilden und diesen dann zu vergleichen - die Frage ist nur, wie mach ich sowas schnell?

Meine Dateien sind teilweise 6GB groß, das sollte nicht länger als 5-10 sec dauern.  :roll: 

Würde mich über in paar Ideen freuen!


----------



## Wildcard (1. Okt 2007)

Kannst du vergessen, in der Zeit geht das mit handelsüblicher Hardware nicht.


----------



## JayJay (1. Okt 2007)

Wir lange würde das denn dauern und wie würde ein solcher Hash-vergleich code-mäßig aussehen? Gibt es dafür schon klassen?


----------



## Wildcard (1. Okt 2007)

Den md5 einer 1.5 GiB großen Datei zu berechnen benötigt (mit dem nativen Linux Programm) bei meiner (Notebook) Festplatte ca. 75s. Bei dir sind's 6GiB pro Datei und davon 2 Stück, würde bei mir dann schon 530s dauern.
Und dann weißt du nichtmal ob die Dateien wirklich verschieden sind (es ist nur sehr wahrscheinlich). Kannst du irgendwelche Aussagen über die wahrscheinliche Art der potentiellen Veränderung treffen?
Generell solltest du dein Szenario besser beschreiben, vielleicht geht es auch besser...


----------



## Gast (1. Okt 2007)

Es geht um VM-Ware dateien 6GB groß. Nach außen sind sie statisch (gleiche größe).Evt. kann man einfach (per random) an einen punkt in der Datei einen md5-wert bilden (evt. das 100x) sollten diese unterschiedlich sein, wird die Datei vom server heruntergeladen.


----------



## JaJay (1. Okt 2007)

(sry Gast war ich)


----------



## StFighter (1. Okt 2007)

Wie wärs wenn du den hash-wert mit der Datei erzeugst und separat speicherst anstatt immer neu zu berechnen?


----------



## Wildcard (1. Okt 2007)

Ich würde vermutlich ein Programm im Hintergrund laufen das vom OS über Änderungen im Dateisystem informiert wird.
Gesetzt den Fall beide Dateien sind identisch (was wohl häufiger vorkommt), dann rechnest du dich tot.


----------



## JaJay (1. Okt 2007)

Okay, werd wohl dann in die Richtung arbeiten. Besten Dank für deine Hilfe!!


----------



## Wildcard (1. Okt 2007)

Schau dir mal JNotify an  :wink:


----------



## JaJay (1. Okt 2007)

Super danke, werd ich mir mal anschauen!


----------

