Возможный дубликат:
PHP 2-way encryption: мне нужно хранить пароли, которые можно получить
Я знаю, что наилучшей практикой хранения паролей пользователей является сохранение только необратимого хэша пароля.
Однако я разрабатываю приложение, в котором мне нужно будет хранить информацию для входа в систему для другой веб-службы - мне нужно будет периодически регистрировать их и выполнять некоторые задачи обслуживания. К сожалению, служба не предоставляет токены авторизации, поэтому я (очень опасаюсь) должен хранить пароли таким образом, чтобы получить доступ к их значениям обычного текста. Я не владею или не контролирую службу, к которой я аутентифицирую, и единственным способом является "заимствовать" имя пользователя и пароль пользователя и аутентифицировать.
Я планирую AES_ENCRYPT пароли в БД, а это значит, что если кто-то может получить доступ к БД, они не смогут получить открытый текст. Однако моему коду нужно будет иметь доступ к ключу, чтобы их разграничить, поэтому, если весь сервер взломан, это не защита, и пароли будут обнаружены.
Помимо вышеописанного шифрования, есть ли какие-либо рекомендации или шаги, которые я могу предпринять, чтобы сделать это как можно безопаснее?
ИЗМЕНИТЬ
Я знаю, что независимо от того, что я делаю, в конечном счете пароли должны быть доступны в виде открытого текста, и поэтому скомпрометированный сервер означает, что пароли будут обнаружены, но мне интересно, какие шаги я могу предпринять для смягчения моего риска. НАПРИМЕР. шифрование БД защищает меня в ситуации, когда БД взломан, но не весь сервер. Другие аналогичные шаги по смягчению были бы очень оценены.