Ben: MD5-Filehashes unterscheiden sich

Hallo zusammen!

Ich versuche zu überprüfen, ob Dateien identisch sind. Eine lokal und eine auf dem Server. Dazu benutze ich den MD5-Hashwert.

Ich habe jetzt das Problem, dass die Werte nicht identisch sind. Den lokalen MD5-Wert habe ich mit mehreren MD5-Generatoren abgeglichen (z.B. den von www.elgorithms.com), der scheint zu stimmen.

Auf dem Server generiere ich den Hashwert mit md5_file(file). Ich habe es aber auch schon über einen Shell-Aufruf mit exec("openssl md5 file") und mit md5(get_file_contents(file)) probiert. Diese drei stimmen überein, jedoch ist es nicht der selbe Hash wie der lokale.

Habe die Datei schon mehrere Male hoch und runtergeladen (unter Beibehaltung des Timestamps), damit ich sicher bin dass es sich um die gleiche handelt.

Hat jemand eine Idee, wo das Problem liegt? Ich kann mir das nicht erklären. Da es sich ja um eine Datei und nicht um einen manuell eingegebenen String handelt den ich prüfe habe ich jetzt mal Probleme mit Spaces und ähnliches ausgeschlossen...

Danke und Gruss
Ben

  1. Hi,

    Habe die Datei schon mehrere Male hoch und runtergeladen (unter Beibehaltung des Timestamps), damit ich sicher bin dass es sich um die gleiche handelt.

    Und hast du dabei auch binary als Transfer mode gewaehlt - und nicht etwa ASCII, was dir aber beim Ansehen der Datei nicht auffaellt, weil sie textartigen Inhaltes ist ...?

    MfG ChrisB

    1. Hallo Chris,

      Und hast du dabei auch binary als Transfer mode gewaehlt - und nicht etwa ASCII, was dir aber beim Ansehen der Datei nicht auffaellt, weil sie textartigen Inhaltes ist ...?

      nur zur Ergänzung:

      In einem grafischen FTP-Client sollte es an der Dateigröße auffallen :-)
      In den meisten Fällen ist beim FTP-Transfer von Textdateien der ASCII-Modus
      sinnvoll.

      Freundliche Grüße

      Vinzenz

  2. Hallo

    Habe die Datei schon mehrere Male hoch und runtergeladen (unter Beibehaltung des Timestamps), damit ich sicher bin dass es sich um die gleiche handelt.

    Hat jemand eine Idee, wo das Problem liegt? Ich kann mir das nicht erklären. Da es sich ja um eine Datei und nicht um einen manuell eingegebenen String handelt den ich prüfe habe ich jetzt mal Probleme mit Spaces und ähnliches ausgeschlossen...

    Handelt es sich um eine Textdatei, die per FTP im ASCII-Modul hochgeladen wird.
    Wenn ja, dann liegt Dein Problem sehr wahrscheinlich an den unterschiedlichen
    Zeilenendezeichen auf Deinem Client (vermutlich Windows) und Deinem Server
    (vermutlich Linux).

    Siehe dazu SELFHTML aktuell,
    Plattformübergreifendes Handling von Zeilenumbrüchen
    .

    Freundliche Grüße

    Vinzenz

    1. Hallo Vinzenz

      Du hast recht, es handelt sich um Textdateien welche im ASCII-Mode übertragen wurden. Mit Binär-Übertragung stimmen die Hashes überein...

      Danke und ein schönes Wochenende
      Ben