CodeKitHub
Русский
Генераторы

Онлайн-генератор хэшей MD5

Введите или вставьте любой текст и мгновенно получите его хеш MD5 — а также хэши SHA-1 и SHA-256 бесплатно, поскольку современные системы все чаще требуют их наличия. Все вычисления хешей происходят локально в вашем браузере; введенные вами данные никуда не передаются.

MD5
SHA-1
SHA-256

Что это за инструмент?

MD5 — это хеш-функция, которая преобразует любые входные данные в фиксированный 32-символьный шестнадцатеричный «отпечаток». Одни и те же входные данные всегда дают один и тот же хеш, а изменение даже одного символа приводит к совершенно другому результату. Благодаря этому хеши широко используются в качестве контрольных сумм, ключей кэша, для дедупликации и проверки целостности данных.

Примечание по безопасности: алгоритм MD5 с криптографической точки зрения является уязвимым — можно сгенерировать коллизии — поэтому его нельзя использовать для паролей или подписей. Для этих целей следует использовать SHA-256 (также приведённый ниже) или специальные алгоритмы хеширования паролей, такие как bcrypt. MD5 по-прежнему подходит для целей, не связанных с безопасностью, таких как контрольные суммы и ключи кэша.

Зачем его использовать?

  • Сгенерировать контрольные суммы, чтобы убедиться, что файл или строка не были случайно изменены.
  • Создать детерминированные ключи кэша и идентификаторы дедупликации.
  • Сравните с известным значением MD5, чтобы проверить целостность данных.
  • Получите SHA-1 и SHA-256 одновременно — нет необходимости использовать дополнительный инструмент.
  • 100 % локально: ваши данные никогда не покидают браузер.

Как использовать

  1. Введите или вставьте текст в поле ввода.
  2. Нажмите «Сгенерировать хеш».
  3. Прочитайте результаты вычислений MD5, SHA-1 и SHA-256 (установите флажок «Uppercase», если ваша система требует использования заглавных букв).
  4. Нажмите «Копировать» рядом с нужным хешем.

Пример

Ввод

hello

Результат

MD5:     5d41402abc4b2a76b9719d911017c592
SHA-256: 2cf24dba5fb0a30e26e83b2ac5b9e29e1b161e5c1fa7425e73043362938b9824

Хэши являются детерминированными: строка «hello» всегда дает именно эти значения на любом инструменте и при любом выполнении.

Какой хеш лучше использовать?

Все три алгоритма являются односторонними хэширующими функциями, но они не взаимозаменяемы — правильный выбор полностью зависит от того, нужна ли вам безопасность или просто «отпечаток».

АлгоритмРазмер выходного файлаИспользуйте его дляНе используйте его для
MD5128 бит (32 шестнадцатеричных символа)Контрольные суммы, ключи кэша, дедупликация, обнаружение непреднамеренных изменений файловПароли, цифровые подписи, любые данные, связанные с безопасностью — коллизии можно создать искусственно
SHA-1160 бит (40 шестнадцатеричных символов)Совместимость с устаревшими системами (например, старые хеши коммитов Git)Новые проекты, подверженные угрозам безопасности — практические атаки на основе коллизий известны с 2017 года
SHA-256256 бит (64 шестнадцатеричных символа)Цифровые подписи, сертификаты TLS, блокчейн, контрольные суммы — там, где важна защита от несанкционированного вмешательстваХранение паролей в открытом виде — даже алгоритм SHA-256 слишком быстр для этого; вместо него используйте bcrypt, scrypt или Argon2

Типичные сценарии использования

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

Почему коллизии важны для безопасности, но не для контрольных сумм

Коллизия хешей означает, что два разных входных значения дают одинаковый хеш — с математической точки зрения это неизбежно для любой хеш-функции (поскольку входные данные бесконечны, а выходные имеют фиксированную длину), однако практический риск полностью зависит от конкретного сценария использования. В случае защитной подписи специально созданная коллизия позволяет злоумышленнику подменить легитимный файл вредоносным, сохранив при этом тот же хеш, что и было продемонстрировано в отношении MD5 с 2004 года и в отношении SHA-1 с 2017 года. В случае контрольной суммы или ключа кэша никто не пытается создать коллизию — вы просто проверяете, не был ли файл случайно повреждён или не совпали ли две произвольные строки — поэтому та же математическая уязвимость, которая подрывает безопасность MD5 в контексте защиты данных, практически не влияет на его использование в целях, не связанных с безопасностью.

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

Можно ли восстановить исходный текст из хеша MD5?

Нет — хеширование по своей сути является односторонним процессом; исходные данные невозможно вычислить по хешу. Сайты, предлагающие «расшифровку MD5», просто ищут хеши в огромных заранее составленных таблицах типичных входных данных, поэтому уникальные входные данные не поддаются обратному преобразованию.

Безопасен ли алгоритм MD5 для хранения паролей?

Нет, ни в коем случае. MD5 легко взломать методом перебора, к тому же известны атаки с использованием коллизий. Для паролей используйте bcrypt, scrypt или Argon2. MD5 допустим только для целей, не связанных с безопасностью, таких как контрольные суммы.

Почему один и тот же текст дает другой хеш, чем другой инструмент?

Как правило, это незаметные различия: конечный символ новой строки или пробел, разные конечные символы строк (\r\n и \n) или разная кодировка текста. Входные данные, идентичные на уровне байтов, всегда дают одинаковый хеш.

В чём разница между MD5, SHA-1 и SHA-256?

Они различаются по длине выходного кода и уровню безопасности: алгоритмы MD5 (128 бит) и SHA-1 (160 бит) уже не считаются надежными для обеспечения безопасности; SHA-256 (256 бит) является действующим стандартом и по-прежнему остается безопасным. Если вы сомневаетесь, используйте SHA-256.

Отправляется ли мой текст на сервер для хеширования?

Нет. MD5 вычисляется с помощью JavaScript, а SHA-1/SHA-256 — с помощью встроенного в ваш браузер API Web Crypto — все операции выполняются на вашем устройстве.

Похожие инструменты