【问题标题】:If git commit IDs are SHA-1 outputs, and SHA-1 produces 160 bits output, why are git commit IDs 320 bits?如果 git commit IDs 是 SHA-1 输出,而 SHA-1 产生 160 位输出,为什么 git commit IDs 是 320 位?
【发布时间】:2021-09-25 11:25:12
【问题描述】:
commit 371a5e1b79515b13237a7cf88538eebfca028d9f (HEAD -> master-fix, origin/master-fix)
Author: Krishna Birla <contributor email>
Date:   Tue Jul 13 18:31:13 2021 +0530

    <commit message>

提交 ID 为 40 字节(320 位)。但是 git 使用 SHA-1,而 SHA-1 产生 160 位。怎么样?

【问题讨论】:

  • 啊,好吧。我假设每个字符一个字节。感谢您的澄清。

标签: git git-commit sha1 sha


【解决方案1】:

即 40 个十六进制字符....每个字符(十六进制)为 4 位:

0 = 0000
1 = 0001
.
.
.
9 = 1001
a = 1010
.
.
f = 1111

.... 所以 40x4 = 160 位。

【讨论】:

  • 正确,我假设 1 char = 1 字节。 Ofc 每个六进制数字只需要 1/2 字节。谢谢!
猜你喜欢
  • 2020-02-14
  • 2011-07-07
  • 2021-01-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-06-26
  • 1970-01-01
相关资源
最近更新 更多