Контекст: я загрузил файл (Audirvana 0.7.1.zip) с code.google на свой Macbook Pro ( Mac OS X 10.6.6).
Я хотел проверить контрольную сумму, которая для этого конкретного файла записана как 862456662a11e2f386ff0b24fdabcb4f6c1c446a (SHA-1). git hash-object
дал мне другой хэш, но openssl sha1
вернул ожидаемый 862456662a11e2f386ff0b24fdabcb4f6c1c446a.
Следующий эксперимент, кажется, исключает любое возможное повреждение загрузки или различия в новой строке и указывает на то, что на самом деле задействованы два разных алгоритма:
$ echo A > foo.txt
$ cat foo.txt
A
$ git hash-object foo.txt
f70f10e4db19068f79bc43844b49f3eece45c4e8
$ openssl sha1 foo.txt
SHA1(foo.txt)= 7d157d7c000ae27db146575c08ce30df893d3a64
Что происходит?