为什么在Windows或Linux下的同一个文件的SHA-1不同?

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

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

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

在msysgit的Git bash窗口(相同的机器,相同的文件)里面:

$ git hash-object hello.txt
3b18e512dba79e4c8300dd08aeb37f8e728b8dad

在计算SHA-1之前,Git添加一个头 (“blob”,长度,然后为空)。 看到这个博客文章如何模拟外部git的计算。