Контекст: Изтеглих файл (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
Какво става?