计算Github API文件SHA [英] Compute Github API file SHA
本文介绍了计算Github API文件SHA的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有一个文件,其内容是"from test"--9个字节。文档说明创建的文件的SHA是使用SHA1:
计算的计算文件的SHA-1哈希并将其存储在Blob对象中。
(出自https://developer.github.com/v3/git/blobs/)
但是,当我计算"from test"的十六进制编码的sha1输出时,我得到5669556d9a5c27fdd649dcaaa0873757c2aa402f
。
Github接口说SHA是62b551731eada762035d4665978027cd44291290
-这是返回的ETag和API响应中用于检索文件的SHA的值。此外,当我使用"from test"作为值并使用566955...
作为SHA调用CreateFile终结点时,我被告知SHA是不正确的。
我还尝试了附加换行符,计算内容的Base64编码值的SHA,计算Base64+尾随换行符的SHA,但都没有给出62b551731eada762035d4665978027cd44291290
。Github是如何计算该值的?
我已经再次检查了远程文件的内容是否相同--"from test"--但不知何故,SHA仍然不同。
推荐答案
ah-gihub正在计算blob <length>x00<contents>
的总和,其中长度是内容字符串的长度(以字节为单位),x00
是单个空字节。
sha1("blob 9x00from test")
得出正确的总和!
有关详细信息,请参阅https://stackoverflow.com/a/7225329/329700。
这篇关于计算Github API文件SHA的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文