Мне нужно дублировать различные типы файлов, немного измените их так, чтобы хэш-код оригинала md5 не соответствовал модифицированному, но сохранил его читабельность и не исказился.Как редактировать файлы для изменения хеша md5 без развращения?
TXT-файлы - это очевидно. Я просто добавляю случайную строку в конец файла.
PDF-файл - ну, я начал искать библиотеку java для редактирования pdf-файлов, но затем я случайно попытался открыть файл pdf в блокноте ++, и подумал: почему бы мне не попробовать добавить случайную строку в конец из нечитаемого содержания, которое я вижу там. Ну, к моему удивлению, это сработало, и файл не был поврежден.
ZIP-файл - я пробовал то же, что и с pdf, и он также работал.
DOCX- тот же метод здесь не работает. Добавление всего пространства ("") в конец двоичного содержимого файла docx, которое я открываю в текстовом редакторе, искажает файл.
Так что мне нужно:
Java библиотеки для изменения офисных документов: DOC, DOCX, XLS, XLSX, PPT, PPTX.
Есть еще типы файлов, которые мне нужно изменить там mh5-хэш-вывод, но я не думаю, что они могут быть модифицируемы в java-медиафайлах, например, исполняемых файлах и т. Д. Итак, тем не менее, как я могу выполнять то, что я хочу в этих файлах? Есть ли способ просто «прикоснуться» к файлу, изменить заголовок или что-то еще и сделать его неидентичным для нетронутого?
редактировать: Хорошо, вот мотивация - я хочу, чтобы генерировать огромное количество данных, как я просил здесь: How to produce massive amount of data?
Во время этого вопроса, ответы на которые я получил там было достаточно, но не они этого не делают.
Мне нужны данные, чтобы они были неидентичными. Пары файлов должны сбой md5-хэш-теста.
Я не могу просто генерировать случайные строки, потому что мне нужно имитировать реальные файлы и documnets.
Я не могу использовать существующие дампы данных, потому что мне нужны различные размеры этих наборов данных, которые включают в себя различные типы файлов. Мне нужно что-то, что я дам в качестве размера ввода, и он будет генерировать данные для меня.
Поэтому я решил, что должен использовать начальный набор данных всех типов файлов, которые мне в конечном итоге нужны, и просто дублировать этот набор данных.
1.) java-библиотеки для изменения офисных документов: doc, docx, xls, xlsx, ppt, pptx. Здесь вы идете http://poi.apache.org/ – bpgergo
Из любопытства, зачем вы это делаете? Вы не добавляете или не изменяете _content_ этих файлов, просто изменяя хэш-файл md5, тем самым побеждая использование хеша использования md5, обнаруживают вероятные дубликаты файлов. Вы уверены, что нет другого способа сделать то, что вы хотите? – CPerkins
Я отредактировал вопрос с мотивацией – AAaa