由于git SHA是从提交文件、元数据和提交消息生成的哈希值,因此更改提交消息会更改SHA。
但是,是否可能通过在消息末尾添加一些随机字符串来“平衡”消息的更改,以保留SHA呢?这样做可以抵消对原始消息的更改。
虽然简单,但需要时间。准备花费未来几年的时间尝试不同的填充方式,直到获得匹配的SHA。
如果您的签入允许您添加一个字符而不改变签入的语义(注释、可选空格等),请尝试添加一个字符并查看生成的哈希值。
预计需要再尝试几次。SHA1是160位,因此您应该计划花费2^160次方的显着部分时间(约为1.46e48)。