У меня есть файл, содержимое которого "из теста" - 9 байт. В документации сказано, что SHA созданных файлов вычисляется с использованием SHA1:
Хэш файла SHA-1 вычисляется и сохраняется в объекте BLOB-объекта.
(из https://developer.github.com/v3/git/blobs/)
Однако, когда я вычисляю вывод SHA1 в шестнадцатеричном формате "из теста", я получаю 5669556d9a5c27fdd649dcaaa0873757c2aa402f
.
Github API говорит, что SHA - это 62b551731eada762035d4665978027cd44291290
- это возвращенный ETag и значение "sha" в ответе API для получения файла. Кроме того, когда я вызываю конечную точку CreateFile со значением «from test» в качестве значения и 566955...
в качестве ша, мне говорят, что SHA неверен.
Я также пытался добавлять новые строки, вычислять SHA значения содержимого в кодировке base64, вычислять SHA base64 + завершающий перевод строки, и ни один из них не дал мне 62b551731eada762035d4665978027cd44291290
. Как Github вычисляет это значение?
Я дважды проверил содержимое удаленного файла одинаково - «из теста» - каким-то образом SHA все еще отличается.