![cover image](https://wikiwandv2-19431.kxcdn.com/_next/image?url=https://upload.wikimedia.org/wikipedia/commons/thumb/3/38/Md5_generalview.png/640px-Md5_generalview.png&w=640&q=50)
امدی۵
From Wikipedia, the free encyclopedia
امدی۵ (به انگلیسی: MD5)، یک الگوریتم رمزنگاری بر مبنای ریاضیات است که به صورت گسترده به عنوان تابع درهمساز رمزنگارانه استفاده میشود. این الگوریتم یک رشته با طول متفاوت را به عنوان ورودی میگیرد و یک هَش (به انگلیسی: Hash) تولید میکند.[1] این هَش در واقع یک عدد یکتا بوده که در مبنای دو به صورت صفر و یک و یا به صورت کاراکتر نمایش داده میشود. چنانچه ورودی کوچکترین تغییری پیدا کند، هَش خروجی متفاوت خواهد بود. نکته مهم دیگر در هَش الگوریتمها، برابری سایز خروجی فارغ از سایز ورودی است، به بیان دیگر چنانچه شما یک متن 100 کلمهای را هَش کنید و یا یک متن 10 کلمهای، سایز خروجیها در هر دو حالت برابر خواهند بود. هَش الگوریتمها در زمینههای مختلفی کاربرد دارند. ذخیره سازی کلمه عبور به صورت امن یکی از موارد کاربرد هَش الگوریتمها میباشد. بدین مفهوم که به جای آنکه یک کلمه عبور عیناً بر روی رایانه ذخیره شود، ابتدا توسط هَش آن توسط امدی5 تولید میشود و سپس آن هَش بر روی رایانه ذخیره میشود. این عمل باعث میشود در صورت آنکه اطلاعات رایانه به هر نحو لو برود، امکان بازیابی کلمه عبور وجود نداشته باشد. هنگامی که کاربر نیاز به ورود به سیستم را دارد، با وارد کردن کلمه عبور خود، ابتدا آن کلمه مجدداً توسط رایانه هَش میشود و خروجی با هَش ذخیره شده مقایسه میگردد، در صورت برابر بودن آن دو هَش، کاربر مجوز ورود میگیرد.[2]
![Thumb image](http://upload.wikimedia.org/wikipedia/commons/thumb/3/38/Md5_generalview.png/640px-Md5_generalview.png)