Miklix

Калькулятор хэш-кода MD4

Опубликовано: 16 февраля 2025 г. в 22:53:12 UTC

Калькулятор хэш-кода, который использует хэш-функцию Message Digest 4 (MD4) для расчета хэш-кода на основе введенного текста или загруженного файла.

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

MD4 Hash Code Calculator

MD4 (Message Digest 4) — криптографическая хэш-функция, разработанная Рональдом Ривестом в 1990 году. Она выдает фиксированное 128-битное (16-байтовое) хэш-значение из входных данных произвольной длины. MD4 в настоящее время считается криптографически сломанной из-за уязвимостей, которые позволяют проводить атаки коллизий (нахождение двух разных входных данных, которые выдают одинаковый хэш), поэтому ее не следует использовать при проектировании новых систем. Она включена сюда на случай, если нужно сгенерировать обратно совместимый хэш-код.

Полное раскрытие информации: я не писал конкретную реализацию хэш-функции, используемой на этой странице. Это стандартная функция, входящая в состав языка программирования PHP. Я лишь сделал веб-интерфейс, чтобы сделать ее общедоступной здесь для удобства.


Вычислите новый хэш-код

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

Исходные данные:



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



Об алгоритме хеширования MD4

Я не математик, поэтому попытаюсь объяснить эту хеш-функцию так, чтобы ее могли понять мои коллеги-нематематики ;-) Если вы предпочитаете более сложные математические объяснения, вы можете найти их на множестве других сайтов.

Хорошо, представьте себе MD4 как специальный уничтожитель бумаг. Но вместо того, чтобы уничтожать бумагу, он «кромсает» любое сообщение (например, письмо, пароль или книгу) в небольшую квитанцию фиксированного размера. Независимо от того, насколько велико или мало ваше сообщение, этот уничтожитель всегда выдает вам крошечную квитанцию длиной ровно 16 байт (128 бит) или 32 символа в шестнадцатеричной форме.

Чтобы правильно уничтожить сообщение, вам необходимо выполнить четыре шага:

Шаг 1: Подготовка сообщения

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

Шаг 2: Добавление секретного штампа

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

Шаг 3: Процесс измельчения (3 раунда магии)

  • Теперь сообщение отправляется в измельчитель.
  • Измельчитель имеет 4 шестерни (A, B, C и D), которые вращаются вместе по особой схеме.
  • Шестерни проходят 3 цикла вращения, в ходе которых они:
    • Смешайте слова.
    • Переверните некоторые части вверх дном
    • Скручивай их как кубик Рубика
    • Разбейте разные части вместе
  • С каждым раундом сообщение становится все более похожим на беспорядочную мешанину, которую невозможно распознать.

Шаг 4: Окончательная приемка

  • После всех вращений, переворачиваний и ударов измельчитель выдает квитанцию — короткую строку цифр и букв (хеш).
  • Эта квитанция всегда имеет одинаковую длину, независимо от того, уничтожаете ли вы одно слово или целую книгу!

К сожалению, со временем люди обнаружили, что этот волшебный шредер не идеален. Некоторые умные люди придумали, как обмануть шредер, заставив его выдавать одну и ту же квитанцию для двух разных сообщений (это называется коллизией ) и предсказать, как будут вращаться шестеренки, а затем использовать это для создания поддельных квитанций. Из-за этого MD4 больше не считается безопасным для важных вещей.

Поделиться на BlueskyПоделиться на FacebookПоделиться на LinkedInПоделиться на TumblrПоделиться на XПоделиться на LinkedInЗакрепить на Pinterest

Миккель Банг Кристенсен

Об авторе

Миккель Банг Кристенсен
Миккель - создатель и владелец сайта miklix.com. Он имеет более чем 20-летний опыт работы в качестве профессионального программиста/разработчика программного обеспечения и в настоящее время работает на полную ставку в крупной европейской IT-корпорации. Когда он не ведет блог, то тратит свое свободное время на огромное количество интересов, хобби и занятий, что в некоторой степени отражается в разнообразии тем, освещаемых на этом сайте.