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 вводить банку Apache (це не проєкт Maven, перейдіть у наступну банку в Інтернеті для ручного імпорту)
2. MD5 використовує код
|