سلام شاید جا نداشته باشه که در مورد پی اچ پی اینجا حرف زده بشه . قبلا من نرم افزاری رو دیده بودم که متون کد شده با md5 رو دریافت میکرد و کد بازگشتی تولید میکرد. جالب اینجاست که توی اینترنت هم فیلمش قرار داده شده بود و بنده شخصا مشاهده کرده بودم. اینکه استاد سامان فرمودن در عین درست بودن نیاز به تحقیق بیشتری هم خواهد داشت. حالا خواهش من از عزیزان تالار اینه که اگه کسی درمورد این موضوع مستندات بیشتری داره در اختیار بقیه قرار بده.
MD5 و حتی SHA1 امنیتشون تضمین شده نیست و توصیه میشه که مثلاً برای Certificate ها و امضاهای دیجیتال از این الگوریتم ها استفاده نشه و الگوریتم های بهینه تری مثل SHA2 معرفی شدن.
اما شکستن MD5 هم به این سادگی ها نیست و قدرت پردازشی زیادی نیاز داره، نیازمند تخصص و دانش خاص خودش هست.
چیزی که در اینترنت دیدید ناشی از خیلی چیزها میتونه باشه، مثلاً اگه متن شما یه عدد 12 رقمی هم باشه میشه خیلی ساده MD5ش رو شکست، روشش هم مقایسه ی اعداد از 0 تا مثلاً 999999999999 هست.
خیلی از سایتهایی که همچین خدماتی میدن از چیزی بنام Hash Table استفاده میکنن، Hash Table یک بانک اطلاعاتی حاوی کلمات معروف، پرکاربرد و ترکیبی از حروف و MD5 Hash هرکدوم از اونها هست که احتمال استفاده از اونها بعنوان پسورد بیشتر هست.
روشش هم این هست که با روش مقایسه، تک تک MD5 Hash های موجود در دیتابیس رو با MD5 Hashی که شما ارائه کردید مقایسه میکنن و اگر هم خوانی ایجاد شد متن اصلی پیدا شده، مثلاً کلمه ی apple رو اگر MD5 Hashش رو به این سایتها بدید خیلی زود کلمه ی اصلی رو بر میگردونه
هرچه دیتابیس غنی تر باشه خب احتمال شکستن هش های بیشتری رو داره
اما تقریباً هیچکدوم از این سایت ها نمیتونن هش مربوط به متن "a1d@;>?4g5^jjn*&^g58%$3" رو بشکنن !!!
هیچ چیزی امنیت مطلق نداره، وزارت دفاع آمریکا برای تامین امنیت اطلاعاتش از MD5 استفاده نمیکنه و الگوریتم های ایمن تری داره، اما برای هش کردن پسورد ها در دیتابیس (که اهمیت تجهیزات دفاعی یک کشور رو ندارن) گزینه ی مناسبی هست.