Рейтинг:0

Два разных шифра с одним и тем же MD5

флаг cn

Мне было интересно, может ли кто-нибудь помочь объяснить столкновение md5 немного лучше. Я нашел этот ресурс: https://www.mscs.dal.ca/~selinger/md5collision/ где они предоставили пример, когда два шифротекста имеют один и тот же md5. Я попытался подтвердить правильность их примера, но когда я ввожу их примеры в калькулятор md5, я получаю два разных md5 для двух разных зашифрованных текстов. Что я делаю не так?

dave_thompson_085 avatar
флаг cn
Это не зашифрованные тексты и не шифры, а MD5 — не шифр. MD5 — это криптографический хэш, также называемый дайджестом (алгоритмом). Данные на этой странице представлены в шестнадцатеричном формате, также как и большая часть криптографических и других компьютерных данных, отображаемых для людей; настроен ли какой-либо калькулятор md5, который вы используете (существуют миллионы разных), для шестнадцатеричного ввода?
ming alex avatar
флаг in
Мой результат тот же, то есть 79054025255fb1a26e4bc422aef54eb4, для двух разных входов. Я предлагаю вам использовать некоторые HEX-инструменты, такие как WinHex, для создания двух файлов, а не note или noetpad.
Рейтинг:3
флаг ng
SSA

вы должны преобразовать их в байты, прежде чем использовать их. Я использую python для поиска хэша md5. x='d131dd02c5e6eec4693d9a0698aff95c2fcab58712467eab4004583eb8fb7f8955ad340609f4b30283e488832571415a085125e8f7cdc99fd91dbdf280373c5bd8823e3156348f5bae6dacd436c919c6dd53e2b487da03fd02396306d248cda0e99f33420f577ee8ce54b67080a80d1ec69821bcb6a8839396f9652b6ff72a70'

 c=bytes.fromhex(x)

b'\xd11\xdd\x02\xc5\xe6\xee\xc4i=\x9a\x06\x98\xaf\xf9\/\xca\xb5\x87\x12F~\xab@\x04X>\xb8\xfb\x7f \x89U\xad4\x06\t\xf4\xb3\x02\x83\xe4\x88\x83%qAZ\x08Q%\xe8\xf7\xcd\xc9\x9f\xd9\x1d\xbd\xf2\x807<[\ xd8\x82>1V4\x8f[\xaem\xac\xd46\xc9\x19\xc6\xddS\xe2\xb4\x87\xda\x03\xfd\x029c\x06\xd2H\xcd\xa0\xe9\x9f3B\x0fW ~\xe8\xceT\xb6p\x80\xa8\r\x1e\xc6\x98!\xbc\xb6\xa8\x83\x93\x96\xf9e+o\xf7*p'

n=hashlib.md5(c)

bas.hexlify(n.digest())

б'79054025255fb1a26e4bc422aef54eb4'

таким же образом, взяв у y другую строку и сначала преобразовав ее в байты.

c2= байты.fromhex(y)

b'\xd11\xdd\x02\xc5\xe6\xee\xc4i=\x9a\x06\x98\xaf\xf9\/\xca\xb5\x07\x12F~\xab@\x04X>\xb8\xfb\ x7f\x89U\xad4\x06\t\xf4\xb3\x02\x83\xe4\x88\x83%\xf1AZ\x08Q%\xe8\xf7\xcd\xc9\x9f\xd9\x1d\xbdr\x807<[\ xd8\x82>1V4\x8f[\xaem\xac\xd46\xc9\x19\xc6\xddS\xe24\x87\xda\x03\xfd\x029c\x06\xd2H\xcd\xa0\xe9\x9f3B\x0fW~\ xe8\xceT\xb6p\x80(\r\x1e\xc6\x98!\xbc\xb6\xa8\x83\x93\x96\xf9e\xabo\xf7*p'

v=hashlib.md5(c2) bas.hexlify(v.digest())

б'79054025255fb1a26e4bc422aef54eb4'

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.