Miklix

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

Опубліковано: 16 лютого 2025 р. о 22:39:19 UTC
Останнє оновлення: 12 січня 2026 р. о 09:06:54 UTC

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

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

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 отворів.
  • Ви додаєте: Яблука (ваше повідомлення). Якусь стару суміш з попереднього часу (перша партія починається з порожнього контейнера). Суміш перших двох інгредієнтів.

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


Останній шоколадний батончик (The Hash)

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

Пам'ятайте:

  • Ті самі інгредієнти = той самий шоколад.
  • Зміна навіть одного яблука = зовсім інший шоколад.
  • Ви не можете повернутися назад — ви не можете розібратися, які ж яблука є, лише за шоколадом.

Додаткова література

Якщо вам сподобався цей пост, вам також можуть сподобатися ці пропозиції:


Поділитися на BlueskyПоділіться на FacebookПоділіться на LinkedInПоділіться на TumblrПоділитися на XПоділіться на LinkedInЗакріпити на Pinterest

Міккель Крістенсен

Про автора

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