7

为什么在同一台机器上计算同一文件的 SHA-1 哈希值会在 windows 和 msysgit Git bash 中产生两个完全不同的 SHA-1 哈希值?

SHA-1 算法不是旨在为所有操作系统中的同一文件生成相同的哈希吗?

在 Windows 上(使用 HashCheck):
文件 hello.txt
22596363b3de40b06f981fb85d82312e8c0ed511

在 msysgit 的 Git bash 窗口中(同一台机器,同一文件):

$ git hash-object hello.txt
3b18e512dba79e4c8300dd08aeb37f8e728b8dad

4

1 回答 1

10

Git 在计算 SHA-1 之前添加了一个标头(“blob”、长度,然后是 null)。有关如何在 git 之外模拟计算,请参阅此博客文章。

于 2010-05-30T05:37:45.323 回答