计算Github API文件SHA

计算Github API文件SHA,github,github-api,github-api-v3,Github,Github Api,Github Api V3,我有一个文件,其内容是“来自测试”-9字节。文档中说,创建文件的SHA是使用SHA1计算的: 文件的SHA-1散列被计算并存储在blob对象中 (来自) 然而,当我计算“from test”的十六进制编码的SHA1输出时,我得到了5669556d9a5c27fdd649dcaaa0873757c2aa402f Github API表示SHA是62b551731eada762035d466597027cd44291290——这是返回的ETag和API响应中用于检索文件的“SHA”值。此外,当我以“

我有一个文件,其内容是“来自测试”-9字节。文档中说,创建文件的SHA是使用SHA1计算的:

文件的SHA-1散列被计算并存储在blob对象中

(来自)

然而,当我计算“from test”的十六进制编码的SHA1输出时,我得到了
5669556d9a5c27fdd649dcaaa0873757c2aa402f

Github API表示SHA是
62b551731eada762035d466597027cd44291290
——这是返回的ETag和API响应中用于检索文件的“SHA”值。此外,当我以“from test”作为值调用CreateFile端点,以
566955…
作为sha时,我被告知sha不正确

我还尝试添加换行符,计算内容的base64编码值的SHA,计算base64+尾随换行符的SHA,但没有一个给我
62b551731eAda762035D466597027CD44291290
。Github如何计算该值


我再次检查了远程文件的内容是否相同-“来自测试”-不知何故SHA仍然不同。

Ah-GitHub正在计算
blob\x00
的总和,其中length是内容字符串的字节长度,
\x00
是单个空字节

sha1(“测试中的blob 9\x00”)
生成正确的总和


有关更多信息,请参阅。

我认为答案是正确的,但两者似乎都不匹配。这就是答案,您需要将14更改为9。哦,太好了。我确实更改了字节数,但认为它没有给出正确的值。很高兴你让它工作起来。FWIW,这不是GitHub的东西,而是Git的东西。