首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >计算Github API文件SHA

计算Github API文件SHA
EN

Stack Overflow用户
提问于 2019-04-15 02:55:48
回答 1查看 509关注 0票数 2

我有一个文件,它的内容是"from test“-9个字节。文档中说创建的文件的SHA值是使用SHA1计算的:

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

(来自https://developer.github.com/v3/git/blobs/)

但是,当我计算"from SHA1“的十六进制编码的测试输出时,我得到的是5669556d9a5c27fdd649dcaaa0873757c2aa402f

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

我还尝试了附加换行符,计算内容的base64编码值的SHA值,计算base64+的SHA值作为尾随的换行符,这些方法都没有给出62b551731eada762035d4665978027cd44291290。Github是如何计算这个值的?

我仔细检查了远程文件的内容是否相同-- "from test“--不知何故,SHA仍然不同。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-04-15 04:17:16

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

sha1("blob 9\x00from test")产生正确的总和!

有关详细信息,请参阅https://stackoverflow.com/a/7225329/329700

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55678890

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档