1. Обзор шифрования MD5
Message Digest Algorithm MD5 (китайский, известный как Message Digest Algorithm 5th Edition) — это хеш-функция, широко используемая в области компьютерной безопасности для обеспечения защиты целостности сообщений. Номер файла этого алгоритма — RFC 1321 (Р. Ривест, MIT Laboratory for Computer Science и RSA Data Security Inc., апрель 1992 года).
MD5 расшифровывается как Message-Digest Algorithm 5, который используется для обеспечения полной и последовательной передачи информации. Это один из хеш-алгоритмов, широко используемых компьютерами (также известный как summary algorithm и hash algorithm), а основные языки программирования обычно имеют реализацию MD5. Вычисление данных (например, китайских иероглифов) в другое значение фиксированной длины — базовый принцип хеш-алгоритма, а MD5 был предшественником MD2, MD3 и MD4. Алгоритм MD5 обладает следующими характеристиками: 1. Сжимаемость: длина вычисленного значения MD5 фиксирована для любой длины данных. 2. Простота вычисления: Легко вычислить значение MD5 из исходных данных. 3. Устойчивость к модификации: Любые изменения исходных данных, даже если изменён только 1 байт, полученное значение MD5 будет сильно отличаться. 4. Сильная устойчивость к столкновениям: исходные данные и их значение MD5 известны, и очень сложно найти данные с одинаковым значением MD5 (то есть поддельные). Функция MD5 заключается в том, чтобы позволить большим объёмам информации быть «сжаты» в конфиденциальный формат (то есть преобразовать строку произвольной длины байта в шестнадцатеричную строку определённой длины перед подписанием приватного ключа с помощью программного обеспечения цифровой подписи). Помимо MD5, к более известным относятся sha-1, RIPEMD и Haval.
MD5 — это асимметричный алгоритм шифрования (PS: симметричное шифрование означает, что пароль для шифрования и пароль для расшифровки совпадают, а асимметричный означает, что ключ для шифрования и расшифровки разный)
2. Java реализует шифрование и расшифровку MD5
1. Maven вводит jar Apache (это не проект Maven, переходите в следующий jar в интернете для ручного импорта)
2. MD5 использует код
|