MD5, или Message Digest Algorithm 5, — это широко используемый криптографический алгоритм, который производит хеш-код или "отпечаток" для данных любого размера, и возвращает его в виде 128-битного хеш-значения, обычно представленного в виде 32-символьного шестнадцатеричного числа.
MD5 был разработан в 1991 году Рональдом Ривестом как улучшенная версия предыдущих алгоритмов (MD2, MD3 и MD4). Целью использования MD5 была генерация уникальных идентификаторов данных, например для проверки целостности файлов или проверки паролей.
Схема работы MD5 проста: вводится некоторый набор данных, и независимо от его размера, MD5 всегда возвращает одно и то же число символов. Если данные изменились даже на один бит, MD5-хеш этих данных также изменится, и вероятность того, что он совпадет с хешем других данных, ничтожно мала.
Однако в последние годы стали известны уязвимости MD5, которые позволяют создать разные входные данные, дающие одинаковый хеш, что приводит к возможности "коллизий". Это проблема с точки зрения безопасности, поэтому, несмотря на его широкое распространение, использование MD5 в новых системах и приложениях сейчас не рекомендуется. Предпочтительнее использовать более современные и безопасные алгоритмы хеширования, такие как SHA-256.