md5 - односторонняя функция дайджеста, также известная как хеш-функция.Это не механизм шифрования.
md5 , как известно, имеет несколько недостатков, и общий совет был избегать его использования уже более десяти лет.
Об этомНа конкретном сайте вы, вероятно, видите пример радужных таблиц, используемых для поиска столкновений, или, возможно, даже исходных данных.Радужные таблицы работают путем предварительного вычисления очень большого количества вероятных входных данных (таких как известные пароли, полный словарь для нескольких языков, общие словосочетания и т. Д.).В таких таблицах можно эффективно найти заданный хэш, чтобы найти входные данные, которые производят указанный хэш.
Обратите внимание, что в некоторых случаях вы можете получить другой результат из радужной таблицы и того, который вы использовали в качестве входных данных.В этом случае это также пример столкновения.
Можно защитить от радужных атак, используя соление, которое добавляет случайные данные к каждому входу, так что в заранее вычисленной радужной таблице вряд ли будет ваш точный ввод.
Хотя md5 считается сломанным, он не сломан в той степени, в которой вы можете выполнить прямое «дешифрование» с помощью хэша - большинство атак пытаются произвести столкновения, а не находить прообразы.
Для любой защитычувствительные приложения, вы должны рассмотреть использование современных хеш-функций, таких как sha256 .Для хэширования паролей рассмотрите возможность использования хеш-функций, специально разработанных для хэширования паролей, таких как bcrypt .