Безопасные методы хранения ключей, паролей для asp.net - PullRequest
2 голосов
/ 13 октября 2008

Что является лучшим способом хранения ключей и / или паролей для веб-сайта. Эти ключи предназначены для различных сторонних веб-сервисов. Лучше ли иметь их в файле Web.config, или в базе данных, или как-то зашифровать?

Ответы [ 3 ]

4 голосов
/ 13 октября 2008

Вы можете сохранить зашифрованные значения в файле .config, и ASP.NET 2.0 расшифрует их на лету.

Ваша конфигурация будет выглядеть примерно так:

<configSections>
   <section 
      name="sampleSection" 
      type="System.Configuration.SingleTagSectionHandler" 
   />
</configSections>

<MySecrets
   FavoriteMusic="Disco" 
   FavoriteLanguage="COBOL" 
   DreamJob="Dancing in the opening ceremonies of the Olympics" 
/>

и затем вы запускаете следующее из командной строки в том же каталоге, что и ваш файл конфигурации:

aspnet_regiis -pef MySecrets .

От К. Скотта Аллена:

http://odetocode.com/Blogs/scott/archive/2006/01/08/2707.aspx

3 голосов
/ 13 октября 2008

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

2 голосов
/ 13 октября 2008

Зависит от того, как часто меняются значения. Если они никогда не изменятся, я бы оставил их в вашем исходном коде.

Я бы держался подальше от хранения данных, которые изменяются в Web.Config, поскольку его изменение вызывает перезапуск пула приложений.

Мой голос будет заключаться в том, чтобы хранить их в зашифрованном виде в базе данных и обеспечивать простой способ изменения значений (например, сохранять значения в кеше и обновлять их, когда они изменяются пользователем).

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