Как изменить текстовый файл, чтобы последние 4 знака сгенерированного дайджеста md5 совпадали с дайджестом md5 исходного файла?
Мне нужна помощь с проблемой, просто идея или алгоритм в порядке, я в порядке с кодированием.
Меня попросили создать программу, подсчитывающую количество совпадающих битов дайджестов md5, сгенерированных из двух немного разных текстовых файлов. Затем мне пришлось создать дайджест из файла, содержащего код этой программы (на C++), и изменить мое приложение, чтобы подсчитать количество битов, не совпадающих в предыдущих файлах, а затем снова сгенерировать дайджест из модифицированного кода.
Это насколько я понял. Проблема в том, что я должен изменить код таким образом, чтобы последние 4 шестнадцатеричных знака в сгенерированном дайджесте (или 16 бит в целом, или 2 байта) должны совпадать с теми, которые взяты из дайджеста неизмененной программы.
Общая идея заключалась в том, чтобы создать программу или алгоритм, генерирующий модифицированный код самостоятельно, добавив несколько закомментированных строк в конце файла или, возможно, с помощью какого-либо вида посола. Я много читал о столкновениях, но понятия не имею, как их использовать.
Буду признателен за любую помощь, будь то что угодно, псевдокоды или советы. При необходимости я могу загрузить созданные мной программы и сгенерировать хеши.