Как правило, хранение паролей в коде приложения - это всегда плохая идея. Перемещение его за пределы кода имеет много преимуществ, включая безопасность.
Теперь сохранение его в БД или в файлах конфигурации - выбор, который вам нужно выбрать в зависимости от вашего приложения.
Для полной безопасности вы никогда не должны хранить пароли в извлекаемой форме. Но для входа на внешний сервер, как в вашем случае, вам нужно получить реальный текстовый пароль, поэтому односторонний хеш не будет работать для вас.
В нашем продукте мы имеем дело с такой ситуацией, используя 2 Way SSL Certificates
. Это очень безопасно и нет необходимости хранить пароли.
Но если вам действительно нужно хранить пароли, тогда я предложу использовать configuration file
и позволить вашему приложению прочитать его. Вы можете зашифровать пароли, хранящиеся в configuration files
(Шифрование паролей, хранящихся в configuration file
, снова вернет вас к тому же вопросу о том, как защитить ключ). Доступ к configuration file
должен быть ограничен (в Unix 600 File Permission
).
В качестве альтернативы, если ваше веб-приложение на Java, вы можете рассмотреть возможность использования JNDI .