Каков наилучший способ хранения пароля или секретного ключа на веб-хостинге?

Я не имею в виду пароли, которые не должны использоваться (например, пароли для других пользователей на моем сайте), и в этом случае мне действительно не нужно их хранить. См. Https://stackoverflow.com/a/ 1054069/939213 .), Поэтому простое хранение hashей не является вариантом.

Я имею в виду сохранение паролей в базе данных SQL и закрытый ключ, который должен использовать программное обеспечение на общем сервере.

Я предполагаю, что нет надежного способа сделать это. Я просто хочу знать, что лучше в этой ситуации .

Я пытаюсь защитить их от хакеров (на том же веб-хостинге или нет). Не от других, у кого есть разрешение на просмотр файлов.

Это будет использовать ASP.Net codebehind.

    Для этой цели Windows предлагает API защиты данных (DPAPI). Изучите class ProtectedData для его использования с .NET.

    Преимущество DPAPI заключается в том, что ваши конфиденциальные данные шифруются на основе учетных данных входа пользователя Windows, что означает, что он безопасен, если ваша учетная запись Windows не скомпрометирована.

    Лучший способ сохранить пароль – не хранить его. Для подключения к SQL Server используйте встроенную (Windows) аутентификацию. Это включает запуск пула приложений IIS в качестве конкретного (Windows) пользователя и предоставление пользователю доступа для входа в базу данных и выполнения необходимых запросов.

    См. Также Интегрированный режим проверки подлинности SQL Server

    Помимо того, что он более безопасен, он работает лучше. Использование строк подключения для каждого пользователя поражает объединение пулов.

    РЕДАКТИРОВАТЬ:

    Если вы абсолютно должны хранить пароль, то использование зашифрованных строк подключения в ASP.NET – это путь. Это поможет использовать DPAPI для правильной записи строки подключения и машинного ключа, уменьшая вероятность того, что вы ее испортите, и подумайте, что вы ее обеспечили, когда вы этого не сделали.

    Также: Шифрование строки подключения в web.config