Miklix

Калькулятор Хеш-Коду MD2

Опубліковано: 16 лютого 2025 р. о 22:39:19 UTC

Калькулятор хеш-коду, який використовує хеш-функцію Message Digest 2 (MD2) для обчислення хеш-коду на основі введення тексту або завантаження файлу.

Ця сторінка була перекладена з англійської мови машинним перекладом, щоб зробити її доступною для якомога більшої кількості людей. На жаль, машинний переклад ще не є досконалою технологією, тому можуть траплятися помилки. Якщо ви бажаєте, ви можете переглянути оригінальну англійську версію тут:

MD2 Hash Code Calculator

Хеш-функція MD2 (Message Digest 2) - це криптографічна хеш-функція, розроблена Рональдом Рівестом у 1989 році. Він був спеціально оптимізований для 8-розрядних комп'ютерів. Хоча зараз він вважається застарілим і небезпечним для криптографічних цілей, він включений сюди на випадок, якщо потрібно обчислити зворотно сумісний хеш-код. Його не слід використовувати при проектуванні нових систем.

Повна інформація: я не писав конкретну реалізацію хеш-функції, яка використовується на цій сторінці. Це стандартна функція, що входить до складу мови програмування PHP. Я лише створив веб-інтерфейс, щоб зробити його загальнодоступним тут для зручності.


Обчислення нового хеш-коду

Дані, надіслані через цю форму, або файли, завантажені через неї, зберігатимуться на сервері лише стільки часу, скільки буде потрібно для генерації запитуваного хеш-коду. Вони будуть видалені безпосередньо перед тим, як результат буде повернутий у ваш браузер.

Вхідні дані:



Надісланий текст в кодуванні UTF-8. Оскільки хеш-функції працюють з двійковими даними, результат буде відрізнятися від того, якби текст був в іншому кодуванні. Якщо вам потрібно обчислити хеш тексту в конкретному кодуванні, вам слід завантажити файл.



Про алгоритм хешування MD2

Я добре розбираюся в простій математиці, але не дуже добре і в жодному разі не вважаю себе математиком, тому спробую пояснити, як працює ця хеш-функція в термінах, зрозумілих нематематикам. Якщо ви віддаєте перевагу повній версії з математики, її досить легко знайти в багатьох інших місцях в Інтернеті ;-)

Тепер уявіть, що у вас є рецепт, який бере будь-які інгредієнти (ваше повідомлення) і завжди перетворює їх на рівно одну маленьку шоколадну плитку з 16 частин (хеш). Незалежно від того, які у вас інгредієнти, наскільки вони великі чи маленькі, ви завжди отримаєте шоколадну плитку однакового розміру.

Мета цього рецепта полягає в тому, щоб:

  1. Ви не можете вгадати інгредієнти, просто подивившись на шоколад.
  2. Навіть незначна зміна інгредієнтів робить смак шоколаду зовсім іншим, тому ви знаєте, чи не зіпсувався хтось з інгредієнтами або рецептом.

Створення шоколадної плитки складається з трьох етапів:


Крок 1: Додавання повідомлення (підгонка інгредієнтів)

Припустимо, у вас є кошик, який вміщує рівно 16 яблук (або інгредієнтів). Але що робити, якщо у вас всього 14 яблук? Вам потрібно буде додати ще 2, щоб наповнити кошик. Якщо у вас низький зріст, ви просто додаєте додаткові яблука. Наприклад:

  • Якщо вам потрібно ще два, ви додаєте два яблука.
  • Якщо у вас їх більше 16, потрібно наповнити наступну нагріву. Наприклад, якщо у вас є 28, ви додаєте чотири, щоб отримати 32 (два рази по 16).

Це гарантує, що кожен кошик заповнений, перш ніж ми перейдемо до наступного кроку.


Крок 2: Додавання контрольної суми (секретного списку інгредієнтів)

Тепер ми створюємо секретний список інгредієнтів на основі всього, що є в кошику.

  • Ви перебираєте кожен кошик, дивитеся на яблука і записуєте секретний код для кожного.
  • Це не просто копія - це все одно, що складати числа дивним чином, так що навіть якщо хтось прокрадеться і змінить яблуко, список буде виглядати неправильно.

Цей список допоможе вам ще раз перевірити, чи не зіпсувалися інгредієнти пізніше.


Крок 3: Змішуємо все разом (чарівний блендер)

Тепер настає найцікавіша частина - змішування!

  • У вас блендер на 48 слотів.
  • Ви кидаєте:
    1. Яблука (ваше повідомлення).
    2. Трохи старої суміші раніше (починається порожньою для першої партії).
    3. Мікс перших двох речей.

Потім ви розтушовуєте його. Але не один раз. Ви змішуєте його 18 разів, змінюючи швидкість і напрямок кожного раунду. Це не звичайне змішування - кожен раунд перемішує суміш особливим чином, щоб навіть одне різне яблуко зробило смак всього шоколаду різним.


Фінальна шоколадна плитка (The Hash)

Після всього цього змішування ви виливаєте лише 16 верхніх шматочків суміші. Ось і вийшов ваш останній шоколадний батончик - хеш MD2. Зовні він зовсім не схожий на оригінальні яблука, і якби ви намагалися вгадати оригінальні інгредієнти саме з шоколаду, то ніколи б не змогли.

Пам'ятати:

  • Ті ж інгредієнти = той же шоколад.
  • Поміняти навіть одне яблуко = зовсім інший шоколад.
  • Назад назад не повернешся - не розберешся з оригінальними яблуками просто з шоколаду.
Поділитися на BlueskyПоділіться на FacebookПоділіться на LinkedInПоділіться на TumblrПоділитися на XПоділіться на LinkedInЗакріпити на Pinterest

Міккель Банг Крістенсен

Про автора

Міккель Банг Крістенсен
Міккель - творець і власник сайту miklix.com. Він має понад 20 років досвіду роботи професійним програмістом/розробником програмного забезпечення і наразі працює на повну ставку у великій європейській ІТ-корпорації. У вільний від ведення блогу час він присвячує різноманітним інтересам, хобі та захопленням, що певною мірою відображається на різноманітності тем, які висвітлюються на цьому сайті.