اشاره به این موضوع بد نیست که اساسا md5 یا اکثر انکرایپشن ها یک الگوریتم مخفی نیستند اصلا که مثلا روزی لو رفته باشند و نا امن شده باشند :|
در حقیقت بحث بر سر پیشرفت سخت افزار ها و رشد تکنولوژی هایی مثل کلود کامپوتینگ هستش. در زمان ساخت md5 به طور مثال احتمال برات فورس 100% را در عرض 20 سال میدادن با یک ابر رایانه قدرتمند و هزینه اجاره این ابر رایانه برای 20 سال را می گفتند هزینه ای که باید صرف شکستن md5 شود.
اما با رشد سخت افزارها (اولین رایانه خود بنده رمش 4 مگابایت بود و سورفیس زیر دستم الان 8192 مگابایت) این را شما تعمیم بدین به ابر رایانه ها و البته با در نظر داشتن تکنولوژِی های کلود که هزینه دسترسی به یک ابر رایانه را هم کاهش داده اند. خوب حالا دیگر نه 20 سال زمان نیاز است نه آنقدرها هزینه بالا ... پس md5 دیگر امن نیست.
اگر نه از همان روز اول هم الگوریتم md5 یا مثلا sha ها کاملا مشخص و عمومی بوده است.
--- نکته دوم در ادامه بحث اصلی
طرح ها و پیشنهادات بنده و اکثر دوستان تنها زمانی کاربردی است که دقیقا طرف صرفا قصد دارد هش شما را باز گرداند به مرجعش. اگر بحث این باشد که طرف به الگوریتم ذخیره سازی شما در دیتابیس دست داشته باشد داستان کاملا متفاوت است و هر چقدر که پیجیده و من درآوردی کار کنید نهایتاً با کمی دقت قابل استخراج هست الگوریتم شما.
در این موارد همان بحث کامپایل یا انکرایپت کردن قسمت احراز هویت ضروری است. اما در خصوص مدل کلید تامین امنیت بدون انکرایپ یا کامپایل نیز تامین شده و بر فرض 100 برابر شدن قدرت پردازنده ها باز هم هزینه و زمان مورد نیاز برای شکستن یک رشته 1 یا 2 مگابایتی چندین برابر عمر نوح استو البته باز اشاره کنم این متدی نیست که شما مثلا برای یک انجمن یا حتی درگاه واسط بخواین ازش استفاده کنید.