محاسبه‌گر هش MD5

تولید خلاصه پیام MD5 (الگوریتم خلاصه پیام ۵ تعریف‌شده در RFC 1321) ۱۲۸ بیتی / ۱۶ بایتی از یک رشته متنی به صورت هگزادسیمال. MD5 دیگر نباید به عنوان تابع هش امن استفاده شود، به جای آن از خانواده الگوریتم‌های SHA-2 یا SHA-3 استفاده کنید.

هش MD5:

ابزارهای مرتبط

اطلاعات بیشتر درباره هش MD5

MD5 یک تابع هش رمزنگاری است که پیامی با طول دلخواه می‌گیرد و خلاصه پیام ۱۲۸ بیتی با اندازه ثابت تولید می‌کند. فرآیند تولید هش MD5 شامل مراحل زیر است:

  1. تکمیل: پیام به گونه‌ای تکمیل می‌شود که طول آن مضربی از ۵۱۲ بیت باشد. تکمیل به گونه‌ای انجام می‌شود که پیام تکمیل‌شده همیشه حداقل ۶۴ بیت کوتاه‌تر از مضرب بعدی ۵۱۲ بیت باشد.

  2. پردازش پیام: پیام تکمیل‌شده به بلاک‌های ۵۱۲ بیتی تقسیم شده و تابع فشرده‌سازی MD5 به ترتیب روی هر بلاک اعمال می‌شود. تابع فشرده‌سازی یک خلاصه پیام ۱۲۸ بیتی و یک بلاک پیام ۵۱۲ بیتی به عنوان ورودی می‌گیرد و خلاصه پیام جدید ۱۲۸ بیتی تولید می‌کند.

  3. مقداردهی اولیه: قبل از پردازش اولین بلاک، تابع هش MD5 یک بافر حالت ۱۲۸ بیتی با چهار کلمه ۳۲ بیتی A، B، C و D مقداردهی اولیه می‌کند.

  4. پردازش دوری: تابع فشرده‌سازی روی هر بلاک پیام اعمال شده و بافر حالت پس از پردازش هر بلاک به‌روزرسانی می‌شود. تابع فشرده‌سازی شامل چهار دور است که هر دور شامل ۱۶ عملیات است. هر عملیات شامل عملیات منطقی بیتی، جمع مدولار ۲^۳۲ و شیفت‌های دَوَرانی بافر حالت است.

  5. خروجی: پس از پردازش همه بلاک‌ها، خلاصه پیام ۱۲۸ بیتی با الحاق چهار کلمه ۳۲ بیتی در بافر حالت به ترتیب A، B، C، D به دست می‌آید.

تابع هش MD5 طراحی شده تا یک تابع یک‌طرفه باشد، به این معنی که از نظر محاسباتی یافتن دو پیام متفاوت با مقدار هش یکسان غیرممکن است. این ویژگی آن را برای تأیید یکپارچگی داده‌ها با مقایسه مقدار هش داده‌های اصلی با مقدار هش داده‌های دریافتی مفید می‌سازد. با این حال، MD5 اکنون برای اهداف رمزنگاری ناامن تلقی می‌شود به دلیل ضعف‌های شناخته‌شده در طراحی آن، و توابع هش امن‌تر مانند SHA-2 و SHA-3 برای برنامه‌های جدید توصیه می‌شوند.