【发布时间】:2012-05-13 03:24:30
【问题描述】:
如果我在使用 git 时发生哈希冲突,实际会发生什么?
例如我设法提交了两个具有相同 sha1 校验和的文件, git 会注意到它或损坏其中一个文件吗?
可以改进 git 以适应这种情况,还是我必须更改为新的哈希算法?
(请不要通过讨论不太可能来转移这个问题 - 谢谢)
【问题讨论】:
-
I've been informed by the git Gods that the chances of a SHA1 collision is the same as the Earth being sucked up into the black hole created by the CERN accelerator. If this is indeed true, then there's no need for that extra memcmp.,来源:lwn.net/Articles/307281 -
绝对不是这样。引用 Dan Bernstein 的话:“学术界还没有进行 SHA-1 碰撞攻击的事实是一个小小的历史事故”——现在 SHA-3 竞赛已经结束,相关人士很有可能会转移注意力使用已知的攻击来产生碰撞。 Marc Stevens 估计难度仅为 2^61 次操作。很可能很快就会出现 SHA-1 碰撞;奇怪的是它还没有发生。
-
@KurzedMetal:有机会在 CERN 中制造黑洞(两个质子会精确碰撞 (10^-15m)),但是这个黑洞不会吸走地球,它会立即蒸发由于霍金辐射...所以 SHA1 碰撞的机会比被吸的要大得多...只是说...
-
令人惊讶的是,你特地要求人们不要讨论 git 冲突的可能性,而几乎每个人都在谈论 git 碰撞的可能性。这些人应该被终身禁止使用stackoverflow!
标签: git hash sha1 hash-collision