Хранение хэша пароля в базе данных не является оптимально безопасным в случае попадания содержимого базы данных в несанкционированные руки.
Невозможно напрямую изменить хеш, но есть онлайн диктиноны (например, здесь ) для реверсирования хешированных (пропущенных) слов.
В БД вы должны хранить что-то вроде:
md5(login_name + domain_or_appname_salt + password);
Соль в середине предотвращает множество форм словарных атак.
На стороне клиента (в браузере) у вас будет форма входа с именем пользователя и паролем. Небольшой фрагмент javascript будет хэшировать userame + app_salt_ и пароль, поэтому на сервер отправляются только имя входа и сгенерированный хэш.
Теперь пароль в виде открытого текста никогда не будет отправляться на сервер в виде простого текста.
Поэтому вам не нужно полагаться на HTTPS здесь.
Та же методика может быть использована в форме обновления пароля. Таким образом, сервер никогда не знает пароль в открытом виде.
Я надеюсь, что вы получили вдохновение от этого и других ответов.
Счастливого взлома!
Huibert