计算Github API文件SHA [英] Compute Github API file SHA

查看:18
本文介绍了计算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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆