Пример хеширования MD5 в Java

История алгоритма MD5

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

Также алгоритм хеширования MD5 часто используется для проверки данных, целостности и полноты скачанной с Интернета информации. Например, на торрентах некоторые файлы предоставляются со значением хеша.

Раньше MD5 использовался для хеширования паролей, но вскоре оказалось, что он является уязвимым. Наиболее частой проблемой оказалась возможность генерации одинаковых хеш-сумм для 2 сообщений, поэтому сейчас MD5 не используется в больших проектах.

Создание Java-проекта

Для начала создадим проект (для удобства я использую Maven проект) и подключим библиотеку в зависимостях нашего проекта:

 Своя реализация алгоритма MD5 на Java

Результат выполнения:

Пример использования MD5 от Apache Common Codec

Как видим, в утилитном классе DigestUtils есть метод md5Hex(String st), в котором содержится реализация MD5

Результат выполнения:

Как видим, Apache Common Codec очень прост в использовании и освобождает нас от рутинной работы, где легко допустить ошибку.

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

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