Что такое MD5?
MD5 (Message Digest Algorithm 5) — это широко используемая криптографическая хеш-функция, которая производит 128-битное (16-байтовое) хеш-значение, обычно представляемое как 32-символьное шестнадцатеричное число. Он был разработан Роном Ривестом в 1991 году как преемник MD4.
Ключевые характеристики:
- Детерминированность: Одинаковый ввод всегда производит одинаковый хеш
- Быстрое вычисление: Быстро вычисляется для любого заданного ввода
- Эффект лавины: Небольшие изменения во вводе производят кардинально разные выводы
- Фиксированный размер вывода: Всегда производит 128-битный хеш независимо от размера ввода
- Уязвимость к коллизиям: Известные уязвимости делают возможным поиск коллизий
Статус безопасности: ⚠️ MD5 криптографически сломан и не должен использоваться для критически важных для безопасности приложений. Атаки коллизий были продемонстрированы в 2004 году, и практическая генерация коллизий стала осуществимой с современной вычислительной мощностью.
Обычные применения (текущие и исторические):
- Проверка целостности файлов (не критично для безопасности)
- Контрольные суммы для обнаружения повреждения данных
- Устаревшие системы, требующие MD5
- Генерация ключей базы данных (не криптографическая)
- Некоторые старые протоколы и системы
Рекомендуемые альтернативы:
- SHA-256 или SHA-3 для новых приложений
- SHA-512 для высоких требований безопасности
- BLAKE2 для высокопроизводительных приложений