Введите текст или выберите файл, чтобы сразу получить значение MD5: вывод в 16 или 32 символа с переключением регистра. Все вычисления выполняются локально в браузере, данные никуда не отправляются.
О «шифровании» и расшифровке MD5
Является ли MD5 шифрованием?
Строго говоря, нет. Шифрование обратимо: имея ключ, можно восстановить исходный текст. MD5 — этоодносторонняя хеш-функция, которая сжимает вход любой длины в дайджест фиксированной длины 128 бит. По дороге часть информации теряется, поэтому шага «вернуть обратно» здесь попросту не существует. Выражение «шифрование MD5» употребляют повсеместно, эта страница следует привычке — на деле речь идёт о вычислении значения MD5.
Заодно разведём то, что часто путают:Base64 — это не шифрование и не хеширование, а простокодирование: оно полностью обратимо, раскодировать его может кто угодно, а нужно оно для того, чтобы двоичные данные могли пройти по каналам, принимающим только текст. Если кто-то «шифрует» им пароли, это не схема шифрования, а дыра в безопасности.
Можно ли расшифровать MD5?
Нет. Любой сайт, обещающий «расшифровку MD5», на деле выполняет одно действие —поиск по радужным таблицам: заранее посчитанные значения MD5 для огромных списков распространённых секретов (123456, admin, словарные слова, префиксы номеров телефонов и тому подобное) сложены в базу. Вы вставляете хеш — сайт проверяет, есть ли он в таблице. Совпадение означает, что ваш исходный текст оказался распространённой строкой; отсутствие совпадения означает, что сделать больше нечего.
Практический вывод из этого двойной. Длинную случайную парольную фразу или пароль, посоленный перед хешированием, такой сайт не найдёт. И наоборот: если один из них мгновенно выдаёт ваш пароль — значит, этот пароль уже лежит в общедоступном словаре и менять его нужно прямо сейчас.
Где же MD5 всё ещё уместен?
Он по-прежнему годится там, где нужнапроверка целостности: посчитайте MD5 скачанного файла и сравните со значением, опубликованным издателем, чтобы убедиться, что при передаче ничего не испортилось. Его же часто используют для ключей кеша, идентификаторов дедупликации и прочих задач, не связанных с безопасностью.
Для задач безопасности его применять не следует. Практические атаки на коллизии существуют уже много лет — построить два разных файла с одинаковым MD5 обычный компьютер успевает за секунды, — поэтому MD5 не годится ни для защиты от подмены, ни для цифровой подписи. Для хранения паролей пользователей берите специализированные медленные хеши вроде bcrypt, scrypt или Argon2: они солят автоматически и позволяют настраивать вычислительную стоимость.
16 или 32 символа — что выбрать?
Форма из 32 символов — это полное значение MD5, все 128 бит в шестнадцатеричной записи; именно она нужна всякий раз, когда результат должен совпасть с чужим. Форма из 16 символов — принятая по традиции середина тех же 32 символов: подстрока, а не другой алгоритм. Меньше символов означает выше вероятность коллизии, поэтому она годится только там, где длину ограничивает само место вывода.