Wie der Titel schon sagt, wenn ich eine Datei (in meinem Fall ein verschlüsseltes JAR) per FTP auf meinen Server (auf dem Ubuntu 20.04 läuft) hochlade und versuche, sie herunterzuladen, scheinen einige Bytes des JAR geändert zu sein (so auch die relative SHA-Prüfsumme).
Weiß jemand, warum das passiert und wie man es „behebt“?
Details der Originaldatei:
Details zur heruntergeladenen Datei:
Bytes der Originaldatei:
Heruntergeladene Dateibytes:
Aktualisieren: anscheinend passiert das nur, wenn ich eine Datei mit der Erweiterung „jar“ hochlade. Ich habe versucht, die Datei von „Test_original.jar“ in „Test_original“ (ohne Erweiterung) umzubenennen und hochzuladen, der SHA256 ist derselbe wie bei meiner Datei auf dem Desktop.
Update Teil 2: Auf dem Server stimmt die Kopie offenbar mit dem Original überein, daher gehe ich davon aus, dass beim Herunterladen bzw. bei der Verarbeitung der Datei durch den Server bei einer eingehenden Download-Anforderung etwas schiefgelaufen ist (?)
Antwort1
Höchstwahrscheinlich haben Sie dabei einen Windows-Computer verwendet und vergessen, die FTP- binary
Option zu verwenden.
Da Windows andere Zeilenenden ( \r\n
) verwendet als der Rest der Welt, wird standardmäßig alles \n
, was nicht mit einem beginnt, \r
in ein übersetzt \r\n
. Bei Textdateien ist dies nur bedingt sinnvoll, bei Binärdateien ist es jedoch destruktiv.
Wie Sie dies vermeiden, hängt vom verwendeten FTP-Client ab: Geben Sie beim Befehlszeilenclient binary
nach der Anmeldung einfach ein, suchen Sie bei einem GUI-Client nach der entsprechenden Konfigurationseinstellung.