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

发布于 2024-09-03 07:44:42 字数 356 浏览 6 评论 0原文

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

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

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

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

$ git hash-object hello.txt
3b18e512dba79e4c8300dd08aeb37f8e728b8dad

Why on the same machine computing the SHA-1 hash of the same file produces two completely different SHA-1 hashes in windows and inside a msysgit Git bash?

Doesn't the SHA-1 algorithm was intended to produce the same hash for the same file in all OSes?

On windows (with HashCheck):
File hello.txt
22596363b3de40b06f981fb85d82312e8c0ed511

Inside a msysgit's Git bash windows (same machine, same file):

$ git hash-object hello.txt
3b18e512dba79e4c8300dd08aeb37f8e728b8dad

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

挽手叙旧 2024-09-10 07:44:42

Git 在计算之前添加 一个标头(“blob”,长度,然后为 null) SHA-1。请参阅这篇博文了解如何在 git 之外模拟计算。

Git adds a header ("blob ", the length, then null) before calculating the SHA-1. See this blog post for how to emulate the calculation outside git.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文