Сравнение результатов MD5 разбитых файлов с MD5 всего - PullRequest
1 голос
/ 06 апреля 2011

У меня есть ситуация, когда у меня есть один ОЧЕНЬ большой файл, который я использую командой linux «split» для разбиения на более мелкие части. Позже я использую команду linux "cat", чтобы снова собрать все части вместе.

А пока мне любопытно ...

Если я получу отпечаток MD5 на большом файле перед его разбиением, то позже получу отпечатки MD5 на всех независимых частях файла, которые являются результатом команды split, есть ли способ взять независимые отпечатки и каким-то образом сделать вывод, что Сумма или средняя (или как вам угодно) их часть равна отпечатку одного большого файла?

По (очень) свободному примеру ...

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

someoperator (23489a89,1238g89d, 01234cd7) = 737da789 (отпечаток исходного файла)

Ответы [ 2 ]

1 голос
/ 09 марта 2012

Не совсем, но следующая лучшая вещь будет делать это: cat filepart1 filepart2 | md5sum или же cat filepart * | md5sum

Обязательно соберите их вместе в правильном порядке. передавая вывод cat, вам не нужно беспокоиться о создании слишком большого комбинированного файла.

1 голос
/ 06 апреля 2011

Вы, вероятно, не можете этого сделать - MD5 достаточно сложен внутри и зависит от фактических данных, а также от «начального» значения хеш-функции.

Вместо этого вы можете генерировать "инкрементные" хэши - хэш первой части, хэш первой плюс второй части и т. Д.

...