Сохранение хеша MD5 текстового файла в тот же текстовый файл?

Сегодня я читал о хеше MD5 и задавался вопросом, возможно ли это. походит на рекурсивную проблему... или существует ли решение?

5
задан bakra 27 May 2010 в 10:53
поделиться

6 ответов

Ну, как только вы заполните сумму MD5, файл изменится и получит новый MD5 - так что: нет, это неосуществимо. Теоретически, методом проб и ошибок можно получить документ, содержащий свой собственный хэш... но документ, скорее всего, будет довольно запутанным и не будет содержать ничего осмысленного.

Но можно заполнить 128 бит нулями (например) во время вычисления. Это место будет хранить сумму MD5 и должно быть снова нулевым при последующей проверке хэша.

3
ответ дан 18 December 2019 в 10:42
поделиться

Это невозможно.

Но вы можете переименовать файл в соответствии с хэшем его содержимого, что присоединит информацию без изменения хэша.

4
ответ дан 18 December 2019 в 10:42
поделиться

Теоретически это возможно: возможное содержимое файлов бесконечно, возможные хэши - нет. На практике, если вы сможете это сделать, это будет означать, что вы нашли уязвимость в алгоритме, что делает хэш бесполезным для целей безопасности.

2
ответ дан 18 December 2019 в 10:42
поделиться

Ну, добавление хеша MD5 к тексту изменяет текст и, следовательно, хеш MD5. Вычисление MD5-хэша вашего MD5-хэша, включая текст, подлежащее вычислению, невозможно.

1
ответ дан 18 December 2019 в 10:42
поделиться

Рассмотрите любой хэш и представьте, что к нему добавляется случайный текст. Поскольку существует бесконечное количество возможных текстов , которые вы могли бы добавить, но только конечное количество возможных значений хеша , должны быть возможные тексты, дающие хеш. Проблема только в том, что у вас может не хватить ресурсов, чтобы его найти.

Вы могли бы попробовать, есть ли какие-либо хеш-значения MD5, которые при хешировании дают себя в результате (спасибо Франческо за эту ссылку!):
Для всех возможных перестановок хеша MD5 создайте хеш и сравните результат с исходным.

4
ответ дан 18 December 2019 в 10:42
поделиться

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

2
ответ дан 18 December 2019 в 10:42
поделиться
Другие вопросы по тегам:

Похожие вопросы: