Контрольная сумма Md5 отличается после gunzip и gzip

я случайно удалил несколько файлов gzipped из папки. К счастью, я распаковал их в другом месте и нахожусь в процессе их восстановления. У меня были контрольные суммы md5 для старых (теперь удаленных) файлов, но контрольные суммы для новых сжатых файлов не совпадают. Гречиха.

но... У меня есть другая папка, которая содержит аналогичные gzipped файлы из того же источника, и я, когда я gunzip а потом сразу gzip один из этих файлов, контрольная сумма опять же разные, заставляя меня подозревать, что создатель файлов использовал разные параметры для gzip (если есть альтернативное объяснение, я бы хотел это услышать).

есть ли способ определить используемые параметры gzip, чтобы я мог убедиться, что мои манипуляции не испортили содержимое файлов?

22
задан kevbonham
16.05.2023 23:17 Количество просмотров материала 2671
Распечатать страницу

2 ответа

стандартный Unix file утилита дает вам некоторую базовую информацию о себе .файл gz, например:

$ file foo.gz
foo.gz: gzip compressed data, was "foo", from Unix, last modified: Tue Aug  1 14:19:21 2017, max compression

как вы можете видеть, в заголовке хранится исходное имя файла, ОС, на которой было выполнено сжатие, время изменения и уровень сжатия. Обратите внимание, что исходное имя файла может отличаться, если вы сделали что-то вроде gzip -c tempfile > foo.gz в этом случае исходный файл будет tempfile. Или он может даже не существовать, если gzip не получил оригинальное имя файла, потому что он читается из stream (например,tar czf foo.tar.gz somedir).

так что вы, вероятно, хотите получить представление о том, какие факторы могут быть разные. Я не знаю, насколько все это важно для тебя, но ты могла бы посмотреть на RFC 1952, что дает формат файла. Вы можете попробовать разные настройки и даже шестнадцатеричное редактирование некоторых полей, чтобы соответствовать оригинатору, если это необходимо (например, разные ОС).

2
отвечен jjlin 2023-05-18 07:05

все эти утилиты включают некоторую мета-информацию, которая может меняться с каждым запуском, поэтому даже с одинаковыми файлами вы получаете немного разные молнии (и поэтому другой MD5). Чтобы сравнить содержимое, вы должны распаковать их.

Если вам lookup gzip в Википедии, вы узнаете, что файл GZip начинается с 10-байтовый заголовок, содержащий магическое число (1f 8b), номер версии и метки. Другими словами, каждый прогон гарантированно даст отдельный файл.

2
отвечен xenoid 2023-05-18 09:22

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх