Вы не можете получить оригинальный пароль. Имейте в виду, что дайджест и кодировка Base64 делают две совершенно разные вещи. Дайджест MD5 создает криптографический хеш данных, предоставленных ему. Это необратимо Base64 - это механизм кодирования для преобразования данных (которые могут содержать непечатаемые двоичные данные) в строку, которая гарантированно содержит только печатные символы. Этот шаг обратим.
Стандартный способ проверки пароля - не декодировать исходный пароль и сравнивать обычный текст. Что вам нужно сделать, это взять кодировку (MD5-хэш, затем Base64-кодирование), которую вы использовали для исходного пароля, и применить ее к вновь предоставленному паролю. Затем сравните сохраненную закодированную версию с вновь закодированной версией. Если они одинаковые, то пароли совпадают.
Этот дизайн является более безопасным механизмом, чем хранение паролей, которые могут быть декодированы. Таким образом, если кто-то украдет вашу базу паролей, он автоматически не получит доступ ко всем паролям ваших пользователей. Чтобы проникнуть в систему, им все равно придется найти пароль, закодированный с тем же значением. Смысл криптографических хэшей, таких как MD5, состоит в том, чтобы сделать это очень сложно. С другой стороны, MD5 больше не считается очень безопасным хешем. Вам было бы лучше использовать SHA1 или SHA256 (но помните, что вы не можете изменить существующие сохраненные пароли из их хэша MD5 на другой хеш без оригинального пароля, которого у вас нет, т.е. вы не можете просто преобразовать свой база сохраненных паролей).