سالیان ساله که دارند داد میزنند که md5 و sha1 برای هش رمز ها استفاده نکنید!
روشی برای نگهداری رمز ها امنه که اگر n بار یک داده رو با الگوریتم موردنظر مورد پردازش قرار بدید هر بار مقدار متفاوتی خروجی بده. (در خصوص الگوریتم نامتقارن تحقیق بفرمایید.)
البته لازمه که بدونید شما نیاز ندارید تا رمز کاربر رو encrypt کنید و در دیتابیس ذخیره کنید، صرفا لازم دارید تا نشانه ای از رمز رو نگهداری کنید و هربار با ورود مجدد رمز اون رو با نشانه ای که قبل از ذخیره کردید مقایسه کنید و این مورد ربطی به رمزنگاری نداره!
راهکار جایگزین:
http://ir2.php.net/password_hash
http://ir2.php.net/password_verify