Saya menggunakan Windows 7 dan memiliki Cygwin dan alat baris perintah Git berbasis ming.
Saat saya mengeluarkan perintah:
c:\>echo -n hello | e:\cygwin\bin\sha512sum
dari cmd Windows, itu menghasilkan
91fe211053c6377ddfd218a061f96de1ca304b10d966a4c3572d9af22bbe86dc471653d0f9b14f923762d0bf83a0abfe285b855e1ee06b0d4ab4a60a8d8801e3 *-
yang saya yakini tidak benar .
Namun, saat saya mengeluarkan perintah
$ echo -n hello | /e/cygwin/bin/sha512sum
dari baris perintah git, ia menghasilkan
9b71d224bd62f3785d96d46ad3ea3d73319bfbc2890caadae2dff72519673ca72323c3d99ba5c11d7c7acc6e14b8c5da0c4663475c2e5c3adef46f73bcdec043 *-
yang saya percaya adalah hex checksum yang benar. Saya mengasumsikan input yang sama persis sedang dikirim ke executable biner yang sama persis, tetapi itu tidak benar dengan perilaku yang saya lihat. Apakah Windows CMD melakukan semacam pengkodean lucu yang mengirimkan input berbeda ke biner cygwin sha512?
EDIT Bagi siapa pun yang tertarik untuk mendapatkan checksum yang tepat dari prompt Windows cmd standar, triknya adalah tidak menggunakan perintah window echo (jawabannya menyinggung ini). Menggunakan perintah echo cygwin menghasilkan checksum yang benar.
Misalnya,
e:\cygwin\bin\echo -n hello | e:\cygwin\bin\sha512sum