Контекст: я загрузил файл (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
Что происходит?