Вы не можете. Причина, по которой криптографические хеши [1] называются «необратимыми», заключается в том, что они не могут быть обращены. В этом весь смысл их использования для хранения паролей - это означает, что, если Плохой Парень попадет в базу паролей, он не сможет просто перевернуть хеш, чтобы узнать, какие все пароли есть.
Я вижу из ваших правок, что ваша цель состоит в том, чтобы отобразить пароль пользователя для пользователя (ов) администратора, а не для восстановления пароля самим пользователем. Это Очень плохая идея . Многие пользователи пытаются облегчить бремя запоминания паролей, используя один и тот же пароль для нескольких систем, что означает, что отображение их пароля в вашей системе с высокой вероятностью может поставить под угрозу их учетные записи в других системы.
Правдивая история. В 2000 году я устроился на работу в стартап, который выпускал системы голосовой почты. Чтобы познакомить меня с продуктом в мой первый день, ИТ-директор попросил меня создать учетную запись голосовой почты, что я и сделал, а затем вызвал ее в интерфейсе администратора. Я чуть не умер, когда увидел на экране свой PIN-код голосовой почты, чтобы все могли его увидеть. Отчасти потому, что это была ужасно плохая практика безопасности, но в основном потому, что, хотя он и не знал этого, теперь он знал ПИН-код моей карты банкомата . Это просто плохо, плохо, плохо вокруг. Не делай этого.
[1] MD5 - это алгоритм хеширования, а не алгоритм шифрования. Основное различие между ними заключается в том, что для любого данного алгоритма хеширования существует бесконечное количество входов, которые будут давать одинаковый выход (поэтому он необратим), в то время как шифрование имеет взаимно однозначное соответствие ввода выход.