ماشین حساب کد هش MD2
منتشر شده: ۱۶ فوریهٔ ۲۰۲۵ ساعت ۲۲:۳۹:۴۰ (UTC)
ماشین حساب کد هش که از عملکرد هش Message Digest 2 (MD2) برای محاسبه کد هش بر اساس ورودی متن یا آپلود فایل استفاده می کند.MD2 Hash Code Calculator
تابع هش MD2 (Message Digest 2) یک تابع هش رمزنگاری است که توسط Ronald Rivest در سال 1989 طراحی شده است. این تابع به طور خاص برای رایانه های 8 بیتی بهینه شده است. اگرچه اکنون برای مقاصد رمزنگاری منسوخ و ناامن در نظر گرفته میشود، اما در صورتی که نیاز به محاسبه کد هش سازگار با عقب باشد، در اینجا گنجانده شده است. هنگام طراحی سیستم های جدید نباید از آن استفاده کرد.
افشای کامل: من پیاده سازی خاصی از تابع هش مورد استفاده در این صفحه را ننوشتم. این یک تابع استاندارد است که در زبان برنامه نویسی PHP گنجانده شده است. من فقط رابط وب را ایجاد کردم تا برای راحتی در اینجا در دسترس عموم قرار دهم.
درباره الگوریتم هش MD2
من در ریاضیات ساده خوب هستم، اما خیلی خوب نیستم و به هیچ وجه خودم را یک ریاضیدان نمی دانم، بنابراین سعی خواهم کرد نحوه عملکرد این تابع هش را با عباراتی که غیرریاضیدانان می توانند درک کنند، توضیح دهم. اگر نسخه کامل ریاضی را ترجیح می دهید، یافتن آن در بسیاری از مکان های دیگر در وب به اندازه کافی آسان است ;-)
حالا، تصور کنید دستوری دارید که هر گونه مواد تشکیل دهنده (پیام شما) را می گیرد و همیشه آنها را دقیقاً به یک شکلات تخته ای کوچک و 16 تکه تبدیل می کند (هش). مهم نیست که مواد تشکیل دهنده شما چه هستند یا چقدر بزرگ یا کوچک هستند، همیشه شکلات تخته ای یکسانی خواهید داشت.
هدف این دستور پخت این است که:
- فقط با نگاه کردن به شکلات نمی توانید مواد تشکیل دهنده را حدس بزنید.
- حتی یک تغییر کوچک در مواد باعث می شود طعم شکلات کاملاً متفاوت باشد، بنابراین می دانید که آیا کسی با مواد یا دستور غذا اشتباه کرده است.
ایجاد نوار شکلات یک فرآیند سه مرحله ای است:
مرحله 1: بالشتک کردن پیام (تناسب کردن مواد تشکیل دهنده)
فرض کنید سبدی دارید که دقیقاً 16 سیب (یا مواد تشکیل دهنده) در آن قرار دارد. اما اگر فقط 14 سیب داشته باشید چه؟ برای پر کردن سبد باید 2 عدد دیگر اضافه کنید. اگر کوتاه قد هستید، فقط سیب اضافه کنید. به عنوان مثال:
- اگر به دو عدد دیگر نیاز دارید، دو عدد سیب اضافه کنید.
- اگر بیش از 16 عدد دارید، باید سبد بعدی را پر کنید. به عنوان مثال، اگر 28 دارید، چهار را اضافه می کنید تا به 32 برسید (دو ضربدر 16).
این اطمینان حاصل می کند که قبل از اینکه به مرحله بعدی برویم، هر سبد پر است.
مرحله 2: اضافه کردن یک چکسوم (فهرست مواد تشکیل دهنده مخفی)
اکنون، ما یک لیست مخفی مواد تشکیل دهنده بر اساس همه چیز در سبد ایجاد می کنیم.
- شما از هر سبد عبور می کنید، به سیب ها نگاه می کنید و برای هر کدام یک کد مخفی می نویسید.
- این فقط یک کپی نیست - مانند جمع کردن اعداد به روشی عجیب است به طوری که حتی اگر شخصی دزدکی وارد شود و یک سیب را تغییر دهد، لیست اشتباه به نظر برسد.
این فهرست به شما کمک میکند تا بررسی کنید که بعداً مواد به هم نخورده باشند.
مرحله 3: همه چیز را با هم مخلوط کنید (مخلوط کننده جادویی)
اکنون بخش سرگرم کننده می آید - مخلوط کردن!
- شما یک مخلوط کن 48 شیار دارید.
- شما می اندازید:
- سیب ها (پیام شما).
- مقداری مخلوط قدیمی از قبل (برای اولین دسته خالی شروع می شود).
- ترکیبی از دو مورد اول
سپس آن را مخلوط می کنید. اما نه فقط یک بار. شما آن را 18 بار با هم ترکیب می کنید و در هر دور سرعت و جهت را تغییر می دهید. این ترکیب معمولی نیست - هر دور مخلوط را به روشی خاص به هم می زند تا حتی یک سیب مختلف طعم کل شکلات را متفاوت کند.
نوار شکلات نهایی (The Hash)
بعد از این همه مخلوط کردن، فقط 16 تکه از مخلوط را بیرون می ریزید. این آخرین نوار شکلات شماست - هش MD2. هیچ شباهتی به سیب های اصلی ندارد و اگر سعی کنید مواد اولیه را فقط از روی شکلات حدس بزنید، هرگز نمی توانید این کار را انجام دهید.
به یاد داشته باشید:
- همان مواد = همان شکلات.
- تغییر حتی یک سیب = شکلات کاملا متفاوت.
- شما نمی توانید به عقب برگردید - شما نمی توانید سیب های اصلی را فقط از شکلات کشف کنید.