如何更改文件的 MD5

如何更改文件的 MD5

我们可以使用以下方法获取文件的 MD5 md5sum,因此我的问题是:

  1. MD5 可以改变吗?
  2. 如何更改MD5?

答案1

md5sum计算并验证 128 位 MD5 哈希值。MD5 哈希值相当于文件的紧凑数字指纹。现实世界中,任何两个不相同的文件都不太可能具有相同的 MD5 哈希值,除非它们被专门设计为具有相同的哈希值。

md5sum用于验证文件的完整性,因为几乎对文件的任何更改都会导致其 MD5 哈希值发生变化。最常见的是,md5sum用于验证文件是否未因文件传输错误、磁盘错误或非恶意干预而发生变化。

更多详情请参阅维基百科

可以改变吗?

md5sum不可以。只要文件内容相同,您就无法更改文件。这是它的唯一目的。您只能md5sum通过更改文件内容来更改文件的值。

答案2

md5sum计算文件内容的 MD5 哈希值。MD5 算法不使用任何随机性(它是确定性的)。它基本上是针对输入(文件内容)执行的数学指令列表。每次您为其提供相同的输入时,它都会以完全相同的方式处理它,并且您会得到相同的输出。就像数学一样:无论您尝试多少次,3×7 总是会得到 21。

改变输出的唯一方法是改变输入。

答案3

虽然我同意@sauravc,如果您不介意损坏文件的可能性,有一种方法可以做到这一点。

如果您以任何方式更改文件,您可以重新计算 MD5。

您可以通过在您喜欢的编辑器中打开文件、进行添加或删除、然后再次保存来更改文件。

如果您想通过命令行快速执行此操作,则可以使用以下任一dd方法truncate

dd if=/dev/zero bs=1 count=10 >> <yourfile>.<ext>

或者

truncate -s +10 <yourfile>.<ext>

任何命令都会在文件末尾添加 10 个字节。这意味着 MD5(下次计算时)应该有所不同。

谨防

这可能会损坏您的文件,因此应先进行彻底的测试。

相关内容