В Stack Overflow много вопросов о том, как хранить пароли пользователей, и общий совет, конечно, состоит в том, чтобы хэшировать пароли и сравнивать хэши.
Однако представьте, что вы создаете приложение для внутренней сети (например, SharePoint), которое люди развертывают в своих собственных средах.И предположим, что для доступа к внешней службе через HTTP требуется сочетание имени пользователя и пароля (решения, использующие ключи API или федеративную безопасность, не поддерживаются).
В этом случае мы не можем хэшировать пароль, потому что нам нужно будет передать оригинальный пароль веб-службе, которую мы вызываем.Шифрование будет вторым лучшим решением, но что мы будем использовать для ключа шифрования?Если атакованный скомпрометировал базу данных, предположительно, он получит доступ к любому ключу, который используется для шифрования данных?
Если для вас действительно требовалось получить текст сохраненной версии сохраненного пароля, как бы вы подошли к проблеме наиболее безопасным способом?