git - 更改 git 提交消息并保持 SHA 不变

标签 git sha

由于 git SHA 是从提交文件、元数据和提交消息生成的哈希值,因此更改提交消息会更改 SHA。

但是,是否可以通过在末尾使用一些随机字符串“平衡”对消息的更改,从而抵消对原始消息的更改,从而对保留 SHA 的提交消息进行更改?

最佳答案

您正在尝试查找 SHA1 哈希算法的冲突,这只有通过需要大量计算能力来测试所有可能的填充的蛮力攻击才有可能。

关于此的一些分析可以在这里找到: https://www.schneier.com/blog/archives/2012/10/when_will_we_se.html

他们写道:

A collision attack is therefore well within the range of what an organized crime syndicate can practically budget by 2018, and a university research project by 2021.

“正常”的人最好去赌博试试运气。 ;)

如果您对更多细节感兴趣,请联系http://crypto.stackexchange.com。因为这个问题实际上是关于密码学的,而不是关于 git 的。

关于git - 更改 git 提交消息并保持 SHA 不变,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21059643/

相关文章:

hash - 为什么 md5 和 sha-* 在其哈希结果中仅使用字母数字字符?

database - 使用相同的数据/源代码同步多个服务器和本地机器

hash - Go, midstate SHA-256 哈希

git - 从 GitHub 存储库下载单个文件夹或目录

git - 获取 Git 中两个分支之间的区别

java - Java 中的 crypt(3) $6$ 密码哈希算法(基于 SHA-512)?

java - 如果我散列 IV 值,是否有任何安全改进?

r - 如何从 R 获取当前 git commit 的 sha

Git - 致命 : Will not delete all non-push URLs

git - Jenkins 定期丢失工作区,触发不需要的构建