Miklix

MD2 калкулатор за хеш код

Публикувано: 16 февруари 2025 г. в 22:38:03 ч. 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 пъти, като променяте скоростта и посоката на всеки рунд. Това не е нормално смесване - всеки кръг разбърква сместа по специален начин, така че дори една различна ябълка да направи вкуса на целия шоколад различен.


Последното шоколадово блокче (Хаш)

След цялото това смесване изсипвате само горните 16 парчета от сместа. Това е последният ви шоколад - MD2 хеш. Не прилича на оригиналните ябълки и ако се опитате да познаете оригиналните съставки само от шоколада, никога няма да можете.

Помня:

  • Същите съставки = същият шоколад.
  • Сменете дори една ябълка = напълно различен шоколад.
  • Не можете да се върнете назад - не можете да разберете оригиналните ябълки само от шоколада.
Споделете в BlueskyСподелете във FacebookСподелете в LinkedInСподелете в TumblrСподелете в XСподелете в LinkedInЗакачи в Пинтерест

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

За автора

Микел Банг Кристенсен
Микел е създател и собственик на сайта miklix.com. Той има над 20 години опит като професионален компютърен програмист/разработчик на софтуер и в момента работи на пълен работен ден в голяма европейска ИТ корпорация. Когато не пише в блога, той прекарва свободното си време в широк спектър от интереси, хобита и дейности, които до известна степен могат да бъдат отразени в разнообразието от теми, обхванати в този уебсайт.