首页 > 解决方案 > 如果 git commit IDs 是 SHA-1 输出,而 SHA-1 产生 160 位输出,为什么 git commit IDs 是 320 位?

问题描述

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 位。如何?

标签: gitgit-commitsha1sha

解决方案


那是 40 个十六进制字符....每个字符(十六进制)是 4 位:

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

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


推荐阅读