Генератор хеша MD4

Мгновенно получайте хеш MD4 любого текста в браузере. Ввод UTF-8, hex или Base64; вывод в hex или Base64. Бесплатно, приватно, без загрузки.

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

Работает полностью в вашем браузере. Ваши данные никуда не загружаются.

Что такое Генератор хеша MD4?

MD4 — 128-битная хеш-функция Рона Ривеста (RFC 1320, 1990) и прямой предок MD5, SHA-1 и RIPEMD. Инструмент вычисляет 128-битный дайджест MD4 текста или сырых байтов (hex или Base64) по мере ввода и показывает его как 32 hex-символа или Base64.

Как пользоваться Генератор хеша MD4

  1. Введите или вставьте данные в Текст для хеширования — дайджест обновляется по мере ввода (пустое поле показывает хеш пустого ввода).
  2. Выберите Кодировка ввода: Текст (UTF-8) хеширует символы как UTF-8, Байты в hex или Base64 хешируют декодированные сырые байты.
  3. Выберите Формат вывода (hex строчными, hex прописными или Base64) и нажмите Копировать.

Пример

Ввод
abc
Вывод
a448017aaf21d8525fc10ae87aa6729d

MD4 от 3 ASCII-байтов "abc" (UTF-8, вывод hex строчными) — стандартный тестовый вектор.

Когда использовать Генератор хеша MD4

Используйте текстовый инструмент MD4 для хеширования строк: воспроизвести значение из документации или кода, подготовить тестовые векторы, сверить вход подписи API или проверить, что должна выдавать программа. Не используйте его для защиты от злоумышленников — он криптографически взломан. Не используйте его и для проверки скачанного файла: при копировании содержимого файла в текстовое поле меняются окончания строк и кодировка, поэтому берите инструмент контрольной суммы файла MD4. Для новых проверок целостности используйте SHA-256.

Как работает Генератор хеша MD4

MD4 дополняет сообщение единичным битом, нулями и 64-битной длиной сообщения в порядке little-endian до длины, кратной 512 битам, затем пропускает каждый 512-битный блок через три раунда по 16 операций над четырьмя 32-битными словами с помощью нелинейных функций F, G и H, сложений и циклических сдвигов влево. Четыре итоговых слова в порядке little-endian образуют 128-битный дайджест. Текст сначала преобразуется в байты (по умолчанию UTF-8), поэтому одни и те же символы всегда дают один и тот же хеш.

Распространенные Случаи Использования

  • Проверить ожидаемый MD4 строки в юнит-тесте или фикстуре
  • Хешировать hex-байты, скопированные из отладчика, дампа пакетов или спецификации протокола
  • Сравнить вывод MD4 в двух языках программирования, которые дают разные результаты
  • Генерировать детерминированные идентификаторы или ключи кэша из текста
  • Воспроизвести старые значения MD4, сохранённые устаревшей системой

Примечание по Безопасности

MD4 полностью взломан. Коллизии находятся вычислениями «на коленке», и он по-прежнему лежит в основе хеша паролей NTLM, поэтому хеши NTLM так легко подбираются. Используйте его только для совместимости (например, ссылки eDonkey/ed2k, исследования NTLM); никогда — для безопасности. Обычные хеши также не подходят для хранения паролей: используйте медленный хеш паролей с солью, например Argon2, scrypt или bcrypt. Все вычисления выполняются локально в браузере; введённые данные никуда не отправляются.

Часто Задаваемые Вопросы

Где MD4 всё ещё используется?

Хеш паролей Windows NT/NTLM — это MD4 от пароля в UTF-16LE, а файловые ссылки ed2k (eDonkey) строятся из хешей MD4 блоков файла. Инструмент вычисляет обычный MD4; NTLM — это MD4 от байтов UTF-16LE, поэтому пароль нужно вводить как hex в UTF-16LE.

Почему моя система не поддерживает MD4?

OpenSSL 3 перенёс MD4 в legacy-провайдер, поэтому openssl md4 или Node.js crypto.createHash("md4") могут по умолчанию завершаться ошибкой. Инструмент реализует MD4 в браузере (hash-wasm), поэтому работает независимо от этого.

Почему хеш полностью меняется при изменении одного символа?

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

Важен ли пробел или перевод строки в конце?

Да. Хеш охватывает каждый байт, поэтому abc и abc с переводом строки дают разные значения MD4. Убедитесь, что ввод содержит ровно те байты, которые вы хотите хешировать.

Другие категории