2012-05-20 38 views
2

我在考慮使用相同的db模型來表示混合設置中的git和hg變更集。這可以讓我在倉庫中存儲git-vs-hg。hg/mercurial和git之間的哈希碰撞?

我在想,是否有知道hg和git算法之間的重疊會使得兩者之間的衝突明顯比hg和git更有可能分開?

回答

4

你會沒事的。

它們都(當前)使用SHA-1。由於API提供的散列只是它的十六進制表示,因此不會有其他風險 - 這直接來自加密散列的屬性。

換句話說 - 計算散列值之前使用什麼處理並不重要。一旦數據通過散列,它們就會在統計意義上變得「統一」。處理可能會影響的東西,但據我所知,沒有後處理(SHA-1生成160位或20字節 - 正如所料,git和mercurial哈希都是40個字符的十六進制字符串)