MD2 калкулатор за хеш код
Публикувано: 16 февруари 2025 г. в 22:38:03 ч. UTC
Последна актуализация: 12 януари 2026 г. в 9:06:36 ч. UTC
MD2 Hash Code Calculator
Хеш функцията MD2 (Message Digest 2) е криптографска хеш функция, разработена от Роналд Ривест през 1989 г. Тя е специално оптимизирана за 8-битови компютри. Въпреки че сега се счита за остаряла и несигурна за криптографски цели, тя е включена тук, в случай че е необходимо да се изчисли обратно съвместим хеш код. Не трябва да се използва при проектирането на нови системи.
Пълно разкритие: не съм написал конкретната реализация на хеш функцията, използвана на тази страница. Това е стандартна функция, включена в езика за програмиране PHP. Направих само уеб интерфейс, за да я направя публично достъпна тук за удобство.
Относно MD2 хеш алгоритъма
Добре се справям с простата математика, но не съм особено добър и в никакъв случай не се смятам за математик, така че ще се опитам да обясня как работи тази хеш функция по начин, който е разбираем и за нематематици. Ако предпочитате пълната математическа версия, е достатъчно лесно да я намерите на много други места в интернет ;-)
Сега си представете, че имате рецепта, която взема произволни съставки (вашето послание) и винаги ги превръща в точно един малък шоколадов блок от 16 парчета (хаш). Без значение какви са вашите съставки или колко големи или малки са те, винаги ще получите шоколадов блок с еднакъв размер.
Целта на тази рецепта е следната:
- Не можеш да познаеш съставките само като погледнеш шоколада.
- Дори малка промяна в съставките прави вкуса на шоколада напълно различен, така че ще разберете дали някой е объркал съставките или рецептата.
Създаването на шоколадовия блок е процес в три стъпки:
Стъпка 1: Допълване на съобщението (съчетаване на съставките)
Да кажем, че имате кошница, която побира точно 16 ябълки (или съставки). Но какво ще стане, ако имате само 14 ябълки? Ще трябва да добавите още 2, за да напълните кошницата. Ако не ви достигат, просто добавяте допълнителни ябълки. Например:
- Ако ви трябват още две, добавяте две ябълки.
- Ако имате повече от 16, трябва да попълните следващата кошница. Например, ако имате 28, добавяте четири, за да получите 32 (два пъти по 16).
Това гарантира, че всяка кошница е пълна, преди да преминем към следващата стъпка.
Стъпка 2: Добавяне на контролна сума (секретен списък със съставки)
Сега създаваме таен списък със съставки въз основа на всичко в кошницата.
- Преглеждате всяка кошница, оглеждате ябълките и записвате таен код за всяка една.
- Това не е просто копие - все едно събираш числа по странен начин, така че дори някой да се промъкне и да смени ябълка, списъкът ще изглежда грешен.
Този списък ви помага да проверите отново дали съставките не са били разбъркани по-късно.
Стъпка 3: Смесване на всичко заедно (Вълшебният блендер)
Сега идва забавната част - смесването!
- Имате блендер с 48 слота.
- Добавяте: Ябълките (вашето съобщение). Някаква стара смес от преди (първата партида започва с празна опаковка). Смес от първите две неща.
След това го пасирате. Но не само веднъж. Пасирате го 18 пъти, като променяте скоростта и посоката на всеки кръг. Това не е нормално пасиране - всеки кръг разбърква сместа по специален начин, така че дори една различна ябълка би направила целия шоколад с различен вкус.
Последният шоколадов бар (Хаш)
След цялото това пасиране, изсипвате само горните 16 парчета от сместа. Това е вашият последен шоколадов блок - MD2 хаш. Той изобщо не прилича на оригиналните ябълки и ако се опитате да познаете оригиналните съставки само по шоколада, никога няма да успеете.
Запомнете:
- Същите съставки = същият шоколад.
- Смяна дори на една ябълка = съвсем различен шоколад.
- Не можеш да се върнеш назад - не можеш да разбереш оригиналните ябълки само от шоколада.
Допълнително четене
Ако ви е харесала тази публикация, може да ви харесат и тези предложения:
