1

我有一种情况,我有一个非常大的文件,我正在使用 linux“split”命令将其分成更小的部分。后来我使用 linux "cat" 命令将所有部分重新组合在一起。

然而,在此期间,我很好奇......

如果我在拆分之前在大文件上获得 MD5 指纹,然后在拆分命令产生的所有独立文件部分上获得 MD5 指纹,有没有办法获取独立指纹并以某种方式推断总和或平均值(或任何你喜欢的)它们的部分是否等于单个大文件的指纹?

通过(非常)松散的例子......

bigoldfile.txt MD5 = 737da789
smallfile1.txt MD5 = 23489a89
smallfile2.txt MD5 = 1238g89d
smallfile3.txt MD5 = 01234cd7

someoperator(23489a89,1238g89d,01234cd7) = 737da789(原始文件的指纹)

4

2 回答 2

1

您可能无法做到这一点 - MD5 内部足够复杂,并且取决于实际数据以及“初始”哈希值。

您可以改为生成“增量”散列 - 第一部分的散列、第一部分的散列和第二部分的散列等。

于 2011-04-06T12:11:56.970 回答
1

不完全是,但下一个最好的方法是这样做:cat filepart1 filepart2 | md5sum 或 cat 文件部分* | md5sum

确保以正确的顺序将它们重新组合在一起。通过管道输出 cat ,您不必担心创建太大的组合文件。

于 2012-03-09T02:49:59.767 回答