MD5 не достаточно для безопасности пароля - MD5 - старый алгоритм, который легко взломать; если вы используете MD5 для хеширования паролей, вы можете вообще ничего не использовать. В настоящее время рекомендуется использовать алгоритм bcrypt.
mysql_real_escape_string()
вместе с остальными функциями mysql_xxx()
устарела. Они считаются устаревшими и небезопасными и не рекомендуются для использования в течение некоторого времени. Предстоящий PHP v5.5 официально объявит их устаревшими, но вы должны попытаться прекратить их использование, даже если вы еще не планируете обновление до 5.5. См. Почему я не должен использовать функции mysql_ * в PHP? для получения дополнительной информации об этом.
Как я уже сказал, MD5 небезопасен, как и большинство решений, которые люди пишут для себя. Лучшее решение для хеширования паролей - это использовать библиотеку хорошего качества, которая сделает всю работу за вас. PHP 5.5 будет включать в себя набор специально написанных функций обработки паролей, которые значительно облегчат безопасность. Существует также версия этой библиотеки, которая была портирована для работы в PHP 5.3 или 5.4. Вы можете скачать эту версию бэкпорта здесь: https://github.com/ircmaxell/password_compat
На данный момент это, вероятно, единственное лучшее решение для хранения паролей, доступное в PHP. Я настоятельно рекомендую вам использовать его.