Re: Dateien byteweise vergleichen?

Tech-Archive recommends: Repair Windows Errors & Optimize Windows Performance



Christian Buhtz wrote:
On Mon, 24 Apr 2006 18:12:08 +0200, Stefan Küng wrote:
* Checksumme (z.B. CRC) über Dateien bilden. (Dauert aber länger als byte-Vergleich, wenn Dateien unterschiedlich sind, da du nicht vorzeitig abbrechen kannst).

Mal anders gefragt:
Ich kopiere eine Datei von A nach B und will wissen ob das sauber
gelaufen ist.
Ich generiere also von A ein CRC und von B ein CRC. Jedesmall muß das
file komplett gelesen werden, um das CRC zu generieren, oder?

Ja. Wie gesagt, ein byte-by-byte Vergleich ist schneller, vorallem wenn die Dateien unterschiedlich sind.

Also macht eine file-verify per Prüfsumme nur Sinn wenn ich vorher schon
die Prüfsumme kenne, ohne das ich sie selber generieren mußte?

Richtig. Wenn du die Prüfsumme von dem File bereits kennst, ist ein solcher Check schneller, da du dann nur noch die Zieldatei öffnen und durcharbeiten musst.

Dann kann ich es ja gleich byteweise vergleichen, oder?

Richtig. Es kommt immer auf die Situation an. Manchmal hat man eben bereits eine Checksumme für eine Datei, manchmal (oder meistens?) aber nicht. Dann sind byteweise Vergleiche schneller.
Ausserdem: eine Checksumme kann nicht 100% zuverlässig sein. Denn eine Checksumme kann auf viele Arten erreicht werden - es gibt immer mehr als eine Datei, welche dieselbe Checksumme aufweist (ist zwar sehr unwahrscheinlich, aber dennoch möglich).

Wenn du hingegen am Ort B überprüfen willst, ob die Datei richtig ist und Ort A nicht auf dem gleichen Rechner ist, dann gibts nichts besseres als Checksummen. Du müsstest ja ansonsten zum Vergleichen der Dateien die Dateien nochmals kopieren.
In dem Fall ist es am einfachsten, erst die Datei an Ort B zu kopieren (zu senden), dann die Checksumme senden. An Ort B dann die Checksumme der empfangenen Datei erzeugen und mit der mitgesendeten Checksumme vergleichen.

Stefan
.



Relevant Pages

  • Re: CRC Einer Datei
    ... > jede Datei hat ja eine Checksumme. ... Wer sagt das eine Datei eine CRC-Checksumme hat? ... Du kannst eine ermitteln(z.B. Herfrieds Antwort), ... CRC werden hauptsächlich dazu benutzt um Datenströme zu ...
    (microsoft.public.de.german.entwickler.dotnet.vb)
  • Re: Unterschiedlichkeit von Datein feststellen
    ... Mein erster Ansatz war es mit dem Datei ... Zeitstempel vergleichen. ... Checksumme bilden und vergleichen. ...
    (de.comp.lang.java)
  • Re: Unterschiedlichkeit von Datein feststellen
    ... Zeitstempel vergleichen. ... wurde geändert -> Schluss. ... Checksumme bilden und vergleichen. ... Checks einführen. ...
    (de.comp.lang.java)
  • Seltsames Problem mit TMemorystream.savetofile
    ... Daten auf die Platte zu schreiben. ... Ich halte mir gerne mit Totalcommander mit der Funktion "Dateien Vergleichen ... Datei kann nicht erstellt werden". ...
    (de.comp.lang.delphi.misc)
  • Re: Unterschiedlichkeit von Datein feststellen
    ... Zeitstempel vergleichen. ... wurde geändert -> Schluss. ... Checksumme bilden und vergleichen. ... Checks einführen. ...
    (de.comp.lang.java)