Генератор MD5

MD5 создаёт 128-битный дайджест (32 шестнадцатеричных символа) для любых входных данных, текста, файла или потока. Несмотря на то что для криптографических целей алгоритм взломан с 2004 года, он по-прежнему остаётся стандартом для быстрой проверки целостности (проверка загрузки пакетов, отпечатки для дедупликации, именование blob-объектов в Git в некоторых случаях). Просто вставьте текст или перетащите файл, генератор вернёт шестнадцатеричный дайджест локально, ничего не загружая на сервер.

Как вычислить хеш MD5

  1. 1

    Выберите входные данные

    Текстовое поле для произвольной строки или выбор файла любого размера примерно до 2 ГБ.

  2. 2

    Инструмент вычисляет MD5 локально

    Файлы передаются частями, поэтому большие файлы не перегружают память.

  3. 3

    Прочитайте шестнадцатеричный дайджест

    32 шестнадцатеричных символа, каноническое представление MD5.

  4. 4

    Скопируйте или сравните

    Сравните с ожидаемым хешем (например, с опубликованным автором пакета значением MD5) или скопируйте для своих записей.

Что такое MD5: и чем он не является

  • Детерминированность. Одни и те же входные данные всегда дают один и тот же 128-битный результат.
  • Фиксированная длина. Любой размер входных данных, один байт или гигабайт, даёт 32 шестнадцатеричных символа.
  • Односторонность. По дайджесту MD5 невозможно восстановить исходные данные (кроме очень малых входов, для которых существуют радужные таблицы).
  • ВЗЛОМАН как криптографический хеш. Коллизии вычисляются тривиально. НЕ используйте MD5 для:
    • Хранения паролей (используйте bcrypt, scrypt, Argon2).
    • Цифровых подписей (используйте SHA-256 или SHA-3).
    • Подписи TLS-сертификатов (отклоняется современными браузерами).
    • Любых связанных с безопасностью утверждений о целостности, которыми может воспользоваться злоумышленник.

Где MD5 всё ещё уместен

  • Невраждебные проверки целостности. Подтверждение того, что файл не был повреждён при передаче.
  • Дедупликация. Создание отпечатков одинаковых объектов в системах хранения.
  • Генерация ETag для редко меняющихся статических ресурсов.
  • Ключи кэша и хеширование с адресацией по содержимому.

Примеры

Входной текст Дайджест MD5
(пустая строка) d41d8cd98f00b204e9800998ecf8427e
a 0cc175b9c0f1b6a831c399e269772661
abc 900150983cd24fb0d6963f7d28e17f72
The quick brown fox jumps over the lazy dog 9e107d9d372bb6826bd81d3542a419d6
The quick brown fox jumps over the lazy dog. (точка в конце) e4d909c290d0fb1ca068ffaddf22cbd0

Обратите внимание, как один символ (завершающая точка) полностью меняет дайджест, это и есть лавинный эффект.

MD5 против семейства SHA

Функция Размер вывода Взломан коллизиями? Типичное применение сегодня
MD5 128 бит Да (2004) Целостность, дедупликация, ETag
SHA-1 160 бит Да (2017) Устаревший; избегайте в новых проектах
SHA-256 256 бит Нет TLS, коммиты, общая криптография
SHA-3 224–512 бит Нет Современная альтернатива SHA-2
BLAKE3 256 бит Нет Быстрая замена SHA-2

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

Нет. MD5 легко подбирается перебором на современных видеокартах и взломан ещё в 2004 году. Используйте функцию хеширования паролей: Argon2, scrypt или bcrypt.

Для обычной проверки целостности (завершилась ли загрузка), да. Для защиты от злоумышленника (не подменил ли кто-то файл вредоносной версией), нет; используйте SHA-256.

Нет. Хеширование выполняется в вашем браузере с помощью WebCrypto и типизированных массивов. Файлы никогда не покидают ваше устройство, что особенно важно при хешировании конфиденциальных данных или данных под соглашением о неразглашении (NDA).

Современные браузеры без проблем обрабатывают около 2 ГБ потоковых входных данных. Очень большие файлы (десятки ГБ) лучше хешировать инструментом командной строки, например md5sum или openssl dgst -md5.

Спецификация не задаёт регистр. Большинство инструментов Unix выводят строчными буквами, а некоторые инструменты Windows, прописными. При сравнении приводите регистр к единому виду с обеих сторон.

Сопутствующие инструменты

Генератор SSL-сертификатов

Создайте самоподписанный сертификат SSL/TLS и закрытый ключ RSA полностью в браузере. Свои Common Name, SAN и срок действия, экспорт в PEM.

Генератор CSR

Создайте запрос на подпись сертификата в формате PEM и соответствующий закрытый ключ RSA. Укажите общее имя, поля организации и размер ключа (2048, 3072 или 4096 бит).

Кодировщик файлов Base64

Кодируйте любой файл (PDF, ZIP, изображение, исполняемый файл) в текст Base64 для встраивания в JSON, письма, YAML или data URI. Работает локально в браузере, без загрузки на сервер.

Кодировщик и декодировщик Base85

Кодируйте и декодируйте Base85 в варианте Adobe Ascii85, который используется в файлах PostScript и PDF. Компактнее Base64 для двоичных данных.

Кодировщик шифра A1Z26

Кодируйте текст шифром A1Z26 (A=1, B=2, ... Z=26) или декодируйте числовую последовательность обратно в буквы, выбрав разделитель.

Идентификатор шифрования

Вставьте зашифрованный текст, и идентификатор предложит вероятные схемы кодирования/шифрования: Base64, hex, двоичный, Морзе, Цезарь или подстановочный, JWT и распространенные хеши.

Инструмент доступен на других языках