Самый быстрый способ изменить хэш-значение md5 для zip-файла

unix hash zip sh

951 просмотра

1 ответ

У меня есть около 500 zip-файлов, которые я должен поместить в каталог для процесса их обработки.

Процесс вычисляет значение хеша md5 для файла перед его обработкой. Если хеш-значение файла совпадает с известным ему (хранится в базе данных), оно игнорирует zip-файл и переходит к следующему.

Каждый почтовый файл содержит два файла:

  • Документ Excel
  • XML-файл с некоторыми метаданными о документе Excel

В рамках тестирования мне нужно обработать все zip-файлы несколько раз. В настоящее время, чтобы процесс не игнорировал их, я просто очищаю значения хеш-функции из базы данных, прежде чем запускать свои тесты.

Есть ли способ, которым я могу запустить тесты, не стирая записанные значения хеша? Я попытался переименовать файлы zip, но это, похоже, не меняет значение хеша.

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

Например, если я извлекаю все файлы (каждая пара в отдельной папке), есть ли способ сделать небольшое изменение в xml и повторно заархивировать файлы (если будет сложнее обновить документ Excel)?

Спасибо

Автор: ziggy Источник Размещён: 08.11.2019 11:27

Ответы (1)


2 плюса

Решение

Вы можете изменить комментарий к zip-файлу ( -zили --archive-commentопцию). Этот комментарий хранится в конце zip-файла и не меняет файлы, хранящиеся внутри:

md5sum test.zip # e5d3c08c0c45d1cbdd0760af0b29e8e0
echo "test at $(date)"|zip --archive-comment test.zip
md5sum test.zip # b13fd1f3b75561eec68fdfde0c26a466
Автор: David Duponchel Размещён: 20.08.2016 09:13
Вопросы из категории :
32x32