Ich benutze Windows 7 und habe sowohl Cygwin als auch das Ming-basierte Git-Kommandozeilen-Tool.
Wenn ich den Befehl gebe:
c:\>echo -n hello | e:\cygwin\bin\sha512sum
Aus dem Windows-Cmd generiert es
91fe211053c6377ddfd218a061f96de1ca304b10d966a4c3572d9af22bbe86dc471653d0f9b14f923762d0bf83a0abfe285b855e1ee06b0d4ab4a60a8d8801e3 *-
was ich für falsch halte .
Allerdings, wenn ich den Befehl erteile
$ echo -n hello | /e/cygwin/bin/sha512sum
Über die Git-Befehlszeile wird generiert
9b71d224bd62f3785d96d46ad3ea3d73319bfbc2890caadae2dff72519673ca72323c3d99ba5c11d7c7acc6e14b8c5da0c4663475c2e5c3adef46f73bcdec043 *-
was ich glaube ist die richtige hex prüfsumme. Ich bin davon ausgegangen, dass genau dieselbe Eingabe an genau dieselbe ausführbare Binärdatei gesendet wird, aber das stimmt nicht mit dem Verhalten überein, das ich sehe. Führt Windows CMD eine lustige Codierung durch, die unterschiedliche Eingaben an die Cygwin Sha512-Binärdatei sendet?
BEARBEITEN Für alle, die daran interessiert sind, die richtige Prüfsumme von einer standardmäßigen Windows-Eingabeaufforderung zu erhalten, besteht der Trick nicht darin, den Befehl window echo zu verwenden (die Antwort spielt darauf an). Mit dem Befehl echo von cygwin wird die richtige Prüfsumme generiert.
Z.B,
e:\cygwin\bin\echo -n hello | e:\cygwin\bin\sha512sum