ماشین حساب کد هش MD2
منتشر شده: ۱۶ فوریهٔ ۲۰۲۵ ساعت ۲۲:۳۹:۴۰ (UTC)
آخرین به روز رسانی: ۱۲ ژانویهٔ ۲۰۲۶ ساعت ۹:۰۶:۵۸ (UTC)
MD2 Hash Code Calculator
تابع هش MD2 (Message Digest 2) یک تابع هش رمزنگاری است که توسط رونالد ریوست در سال ۱۹۸۹ طراحی شده است. این تابع به طور خاص برای رایانههای ۸ بیتی بهینه شده است. اگرچه اکنون برای اهداف رمزنگاری منسوخ و ناامن در نظر گرفته میشود، اما در صورت نیاز به محاسبه یک کد هش سازگار با نسخههای قبلی، در اینجا گنجانده شده است. نباید هنگام طراحی سیستمهای جدید از آن استفاده شود.
افشای کامل: من پیاده سازی خاصی از تابع هش مورد استفاده در این صفحه را ننوشتم. این یک تابع استاندارد است که در زبان برنامه نویسی PHP گنجانده شده است. من فقط رابط وب را ایجاد کردم تا برای راحتی در اینجا در دسترس عموم قرار دهم.
درباره الگوریتم هش MD2
من در ریاضیات ساده خوب هستم، اما خیلی خوب نیستم و به هیچ وجه خودم را ریاضیدان نمیدانم، بنابراین سعی میکنم نحوه کار این تابع هش را به زبانی که غیر ریاضیدانان بتوانند آن را درک کنند، توضیح دهم. اگر نسخه کامل ریاضی آن را ترجیح میدهید، پیدا کردن آن در بسیاری از جاهای دیگر وب به راحتی امکانپذیر است ;-)
حالا تصور کنید که دستور پختی دارید که هر ماده اولیهای (پیام شما) را میگیرد و همیشه آنها را دقیقاً به یک شکلات تختهای کوچک ۱۶ تکهای (هش) تبدیل میکند. مهم نیست مواد اولیه شما چه باشند یا چقدر بزرگ یا کوچک باشند، در نهایت همیشه شکلات تختهای با اندازه یکسان خواهید داشت.
هدف از این دستور غذا این است که:
- شما نمیتوانید فقط با نگاه کردن به شکلات، مواد تشکیلدهنده آن را حدس بزنید.
- حتی یک تغییر کوچک در مواد تشکیل دهنده، طعم شکلات را کاملاً متفاوت میکند، بنابراین اگر کسی در مواد اولیه یا دستور پخت اشتباهی کرده باشد، متوجه خواهید شد.
درست کردن شکلات تختهای یک فرآیند سه مرحلهای است:
مرحله ۱: تکمیل پیام (ایجاد تناسب بین اجزا)
فرض کنید سبدی دارید که دقیقاً ۱۶ سیب (یا ماده اولیه) در آن جای میگیرد. اما اگر فقط ۱۴ سیب داشته باشید چه؟ برای پر کردن سبد باید ۲ سیب دیگر اضافه کنید. اگر تعداد سیبهایتان کم است، فقط سیبهای اضافی اضافه میکنید. برای مثال:
- اگر به دو تای دیگر نیاز دارید، دو سیب اضافه میکنید.
- اگر بیشتر از ۱۶ عدد دارید، باید ظرف بعدی را پر کنید. برای مثال، اگر ۲۸ عدد دارید، چهار عدد به آن اضافه میکنید تا به ۳۲ برسید (دو ضربدر ۱۶).
این کار باعث میشود قبل از رفتن به مرحله بعدی، مطمئن شویم که هر سبد پر شده است.
مرحله ۲: اضافه کردن یک چکسام (لیست مخفی مواد تشکیلدهنده)
حالا، ما یک لیست مخفی از مواد تشکیل دهنده بر اساس تمام مواد موجود در سبد درست میکنیم.
- شما هر سبد را بررسی میکنید، به سیبها نگاه میکنید و برای هر کدام یک کد مخفی مینویسید.
- این فقط یک کپی نیست - مثل این است که اعداد را به روشی عجیب جمع کنید، طوری که حتی اگر کسی یواشکی وارد شود و یک سیب را تغییر دهد، لیست اشتباه به نظر برسد.
این لیست به شما کمک میکند تا دوباره بررسی کنید که مواد اولیه بعداً با هم مخلوط نشده باشند.
مرحله ۳: مخلوط کردن همه مواد با هم (مخلوط کن جادویی)
حالا قسمت جالبش میرسد - مخلوط کردن!
- شما یک مخلوطکن ۴۸ قسمتی دارید.
- شما موارد زیر را اضافه میکنید: سیبها (پیام شما). مقداری از مخلوط قدیمی قبلی (برای سری اول خالی شروع میشود). مخلوطی از دو چیز اول.
سپس آن را مخلوط میکنید. اما نه فقط یک بار. شما آن را ۱۸ بار مخلوط میکنید و در هر دور سرعت و جهت را تغییر میدهید. این مخلوط کردن معمولی نیست - هر دور مخلوط را به روشی خاص هم میزنید، به طوری که حتی یک سیب متفاوت، طعم کل شکلات را متفاوت میکند.
شکلات تختهای نهایی (هش)
بعد از تمام این مخلوط کردن، فقط ۱۶ تکه بالایی مخلوط را میریزید. این شکلات تختهای نهایی شماست - مخلوط MD2. هیچ شباهتی به سیبهای اصلی ندارد، و اگر بخواهید مواد اولیه را فقط از روی شکلات حدس بزنید، هرگز نمیتوانید.
به یاد داشته باشید:
- مواد اولیه یکسان = شکلات یکسان.
- تغییر حتی یک سیب = شکلاتی کاملاً متفاوت.
- شما نمیتوانید به عقب برگردید - نمیتوانید سیبهای اصلی را فقط از روی شکلات تشخیص دهید.
مطالعه بیشتر
اگر از این پست لذت بردید، ممکن است این پیشنهادات را نیز بپسندید:
