Перейти к содержанию
Избранное

Генератор MD5-хеша

Обновлено:

Введите любой текст и мгновенно получите его 128-битный MD5-хеш в виде 32-символьной шестнадцатеричной строки. Полезно для контрольных сумм, проверки файлов и контроля целостности данных.

Сгенерировать MD5-хеш

Поля ввода
Если включено, результат будет автоматически обновляться при изменении любого значения.

Формула MD5-хеша

Формула
\[ \text{MD5}(M): \text{дополнить } M \text{ до кратного 512 битам, затем выполнить 64 раунда смешивания для каждого 512-битного блока} \\ F(x, y, z) = (x \land y) \lor (\lnot x \land z) \\ G(x, y, z) = (x \land z) \lor (y \land \lnot z) \\ H(x, y, z) = x \oplus y \oplus z \\ I(x, y, z) = y \oplus (x \lor \lnot z) \]

Где:

  • \(M\) — входное сообщение, сначала преобразуемое в байты UTF-8
  • \(F, G, H, I\) — четыре булевы вспомогательные функции, используемые в четырёх раундах MD5
  • \(\land, \lor, \lnot, \oplus\) — побитовые И, ИЛИ, НЕ и исключающее ИЛИ (XOR)

Сообщение дополняется так, чтобы его длина стала кратной 512 битам, при этом в конец добавляется исходная длина в битах. Затем алгоритм обрабатывает каждый 512-битный блок за 64 шага, подмешивая данные блока в четыре 32-битных регистра, инициализированных константами \(A = \texttt{67452301}\), \(B = \texttt{efcdab89}\), \(C = \texttt{98badcfe}\), \(D = \texttt{10325476}\). Итоговые значения четырёх регистров, записанные в порядке little-endian, образуют 128-битный дайджест.

MD5-хеш — пример вычисления

Пример: текст Hello world! хешируется с помощью MD5.

\[ \text{MD5}(\texttt{Hello world!}) = \texttt{86fb269d190d2c85f6e04e8f79d3d8a5} \]

Результат: 32-символьный шестнадцатеричный MD5-хеш 86fb269d190d2c85f6e04e8f79d3d8a5.

Как пользоваться генератором MD5-хеша

  1. Введите или вставьте текст в поле Текст для хеширования. Можно вводить любые символы, включая переводы строк и нелатинские алфавиты.
  2. Калькулятор обрабатывает текст прямо в вашем браузере и выводит результат в поле MD5-хеш под заголовком Результат хеширования.
  3. Скопируйте 32-символьную шестнадцатеричную строку и используйте её там, где нужен хеш — контрольная сумма, ключ поиска или значение для сравнения.
  4. Чтобы получить хеш другого текста, просто замените входные данные — хеш обновится автоматически.

Что такое MD5-хеш?

MD5 (Message-Digest Algorithm 5) — криптографическая хеш-функция, разработанная Рональдом Ривестом в 1991 году и описанная в RFC 1321. Она принимает входные данные произвольной длины и выдаёт фиксированный 128-битный (16-байтный) отпечаток, обычно записываемый в виде 32 шестнадцатеричных символов. Один и тот же вход всегда даёт один и тот же хеш, тогда как даже крошечное изменение входа — добавленный пробел, изменённый регистр буквы — даёт совершенно другой дайджест.

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

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

Ограничения и практические советы

  • Небезопасен для паролей. MD5 слишком быстр и слишком хорошо изучен для хранения паролей. Современное хеширование паролей требует намеренно медленных алгоритмов, таких как bcrypt, scrypt или Argon2, с использованием соли.
  • Существуют атаки на основе коллизий. Исследователи показали, как построить два разных входа с одинаковым MD5-хешем. Для критичных с точки зрения безопасности подписей и сертификатов используйте вместо этого SHA-256 или более стойкие алгоритмы.
  • Подходит для контрольных сумм и поиска дубликатов. Для проверки случайных повреждений, поиска дубликатов и неадверсарного «отпечатывания» MD5 по-прежнему вполне практичен и широко поддерживается.
  • Кодировка входа имеет значение. Этот калькулятор хеширует текст в кодировке UTF-8. Тот же текст в другой кодировке (например, в Base64 или с URL-кодированием из URL-энкодера) даст другой хеш.
  • Завершающие пробелы учитываются. Пробел или перевод строки в конце полностью меняет хеш, поэтому будьте внимательны при вставке текста; счётчик символов поможет проверить точную длину входных данных.
  • Всё выполняется локально. Хеширование производится в вашем браузере; текст никуда не отправляется на сервер.

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

Как вычислить MD5-хеш из командной строки?

В Linux и macOS выполните соответственно md5sum filename или md5 -s "your text". В Windows PowerShell используйте Get-FileHash -Algorithm MD5 filename. Результат — та же 32-символьная шестнадцатеричная строка, которую выдаёт этот калькулятор, так что вы можете сверять результаты. Учтите, что консольные утилиты хешируют сырые байты файла, поэтому текстовые файлы с разными кодировками или окончаниями строк (CRLF против LF) дадут разные хеши.

Каков MD5-хеш пустой строки?

Пустая строка — допустимый вход для MD5, и её хеш — широко известное значение d41d8cd98f00b204e9800998ecf8427e. Этот калькулятор требует непустой ввод, но если вы встретите такой хеш в базе данных или файле контрольных сумм, это почти всегда означает, что вход был пуст — например, файл нулевого размера. Это не код ошибки; это просто MD5 от «ничего».

Можно ли обратить или расшифровать MD5-хеш?

Нет. MD5 — однонаправленная функция: не существует алгоритма, позволяющего пройти в обратную сторону от 128-битного дайджеста к исходному входу. Сайты, которые называют «расшифровкой MD5», на самом деле используют огромные заранее вычисленные таблицы (радужные таблицы) распространённых входов. Любой текст, которого нет в такой базе, восстановить нельзя. Кроме того, поскольку каждому значению хеша соответствует бесконечно много входов, даже совпавший кандидат может не быть вашим исходным текстом.

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

Самые частые причины — кодировка и невидимые символы. Этот калькулятор хеширует байты UTF-8; инструмент, использующий Latin-1, UTF-16 или вход в Base64, даст другой дайджест. Завершающие пробелы, переводы строк или окончания строк Windows (CRLF), добавленные при копировании-вставке, также полностью меняют результат. Сравните точную длину входа в байтах в обоих инструментах — если количество байтов различается, хеши обязаны различаться.

Безопасно ли использовать MD5 в 2025 году?

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

Какова вероятность случайной коллизии MD5?

Случайные коллизии практически невозможны. При 128-битном выходе потребуется хешировать около 264 (примерно 18 квинтиллионов) случайных входов, чтобы коллизия стала вероятной, — это неизмеримо больше повседневных объёмов данных. Коллизии, попадающие в новости, — это намеренно сконструированные пары, эксплуатирующие математические слабости MD5, а не случайные совпадения. Поэтому для обнаружения случайного повреждения файлов или дубликатов совпадающий MD5-хеш — надёжный признак идентичности.

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

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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *