Warum hat dieselbe JAR-Datei bei jedem Build unterschiedliche Hashwerte?

8

Ich habe darüber nachgedacht, den Hash-Wert der JAR-Datei zu überprüfen, um festzustellen, ob er sich geändert hat oder nicht, aber wie sich herausstellt, dass die JAR-Datei bei jeder Erstellung unterschiedliche Hashes enthält (als JAR-Datei aus Eclipse exportieren oder erstellen) es mit maven). Ich habe die Datumswerte der Manifest-Datei entfernt, aber es ist immer noch anders. Gibt es etwas in Bytecode-Generierung, die einen Zeitstempel oder etwas enthält?

    
user218046 16.05.2017, 05:42
quelle

1 Antwort

6

Eine JAR-Datei ist eine ZIP-Datei und enthält ein Datum für die letzte Änderung in ihren lokalen Dateiheadern und die Kopfzeile der zentralen Verzeichnisdatei. Dies wird zu unterschiedlichen Hashes Ihrer Builds führen.

Wenn Sie den JAR-Befehl für genau denselben Dateisatz (mit demselben Dateidatum) ausführen und die Erstellung von Manifestdateien überspringen, sollten Sie dieselbe JAR-Datei erhalten (wenn sich die Reihenfolge der Dateien im ZIP nicht ändert).

    
wero 16.05.2017, 06:10
quelle

Tags und Links