MD5 یا ام دی ۵ یا Message-Digest 5 الگوریتمی برای خلاصه سازی پیام می باشد که پیامی را با طول متفاوت به عنوان ورودی می گیرد و خلاصه پیام یا اثر انگشت دیجیتالی آن را با طول ۱۲۸ بیت به عنوان خروجی برمی گرداند. در اینجا منظور از پیام، هر رشته ای از بیت ها مانند یک متن یا یک فایل می باشد. این الگوریتم در سال ۱۹۹۱ توسط پروفسور رونالد ریوست اختراع شد. MD5 توسعه ای از الگوریتم MD4 است با این تفاوت که از امنیت بیشتری نسبت به MD4 برخوردار است ولی سرعت کمتری نسبت به آن دارد.

MD5 یک الگوریتم هش کردن (Hash function) می باشد. در الگوریتم های هش برای همه ی ورودی های با طول متفاوت، طول کد تولید شده ثابت و غیرقابل بازگشت می باشد. در MD5 نیز فایل های ورودی با هر اندازه و هر فرمتی که باشند، کد خروجی همیشه برابر با ۱۲۸ بیت (۱۶ بایت) خواهد بود که معمولا آن را در قالب ۳۲ عدد هگزادسیمال (مبنای ۱۶) نمایش می دهند. به عنوان مثال اگر رشته ی PARSDATA را به عنوان ورودی به MD5 بدهیم کد تولید شده C4442A612D1434C3792CAD960D686554 خواهد بود.

همانطور که ذکر شد ویژگی دیگر این الگوریتم غیر قابل بازگشت بودن یا یک طرفه بودن کد تولید شده می باشد. یعنی نمی توان با استفاده از کد خروجی، ورودی الگوریتم را تشخیص داد. این ویژگی باعث شده است در موارد بسیاری از MD5 برای ذخیره سازی داده ها مانند ذخیره رمزهای عبور استفاده شود.
کدهای تولید شده توسط الگوریتم MD5 منحصر بفرد نیز می باشند. برای هر فایل ورودی، کد MD5 تولید شده یکتا خواهد بود و به همین دلیل آن را اثر انگشت فایل می نامند. به عنوان مثال اگر یک فایل را به عنوان ورودی به الگوریتم MD5 بدهیم، خروجی آن یک کد ۱۲۸ بیتی می باشد که با کد تولید شده برای هر فایل دیگری متفاوت می باشد و در صورتی که حتی یک بیت از فایل تغییر کند، کد MD5 آن تغییر عمده خواهد کرد و به همین دلیل است که در سایت های دانلود در کنار فایل، کد MD5 آن را نیز برای اطمینان از صحت فایل دانلود شده قرار می دهند. البته به طور مطلق نمی توان گفت که MD5 کد تکراری تولید نمی کند ولی احتمال تکراری بودن کد تولید شده یک در ۲۱۲۸=۳٫۴*۱۰۳۸  می باشد که احتمال بسیار کمی است و می توان گفت صفر است.