Miklix

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

Публикувано: 16 февруари 2025 г. в 22:38:03 ч. UTC
Последна актуализация: 12 януари 2026 г. в 9:06:36 ч. 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 слота.
  • Добавяте: Ябълките (вашето съобщение). Някаква стара смес от преди (първата партида започва с празна опаковка). Смес от първите две неща.

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


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

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

Запомнете:

  • Същите съставки = същият шоколад.
  • Смяна дори на една ябълка = съвсем различен шоколад.
  • Не можеш да се върнеш назад - не можеш да разбереш оригиналните ябълки само от шоколада.

Допълнително четене

Ако ви е харесала тази публикация, може да ви харесат и тези предложения:


Споделете в BlueskyСподелете във FacebookСподелете в LinkedInСподелете в TumblrСподелете в XСподелете в LinkedInЗакачи в Пинтерест

Микел Кристенсен

За автора

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