Как зашифровать строку подключения в Web.config - Пенсионный контент?

В настоящее время у меня есть веб-сайт ASP.NET, в котором есть зашифрованная строка подключения в файле web.config. Настройки находятся в общем разделе AppSettings, а не в разделе ConnectionString. В коде приложения мы вручную расшифровываем строку подключения во время выполнения по мере необходимости.

Работая над рефакторингом сайта, я наткнулся на метод, который однажды предложил Microsoft, который заключается в запуске aspnet_regiis команда для вставки зашифрованных данных непосредственно в раздел ConnectionString файла web.config. Этот предложенный метод теперь считается списанным контентом, хотя в нем не указано почему (кроме небольшой ссылки о том, что некоторые ссылки могут быть недействительными).

Вот сайт, на который я ссылаюсь:
Как зашифровать разделы конфигурации в ASP.NET 2.0 с помощью DPAPI

Мои вопросы в основном - стоит ли мне заняться рефакторингом существующей функциональности, чтобы использовать когда-то рекомендованный Microsoft способ? Я считаю, что это будет более эффективным, чем текущий процесс. Кроме того, почему этот метод считается списанным контентом? Есть ли лучший способ сделать это, чем мой сайт, поддерживающий методы шифрования / дешифрования?

Я искал в Google и Stackru другие способы сделать это, но все они, похоже, относятся к способу Microsoft - или к способу, которым я в настоящее время его реализую.

2 ответа

Может быть, сайт / документ, на который вы ссылаетесь, помечен как устаревший, но технология не имеет. Вот официальные ссылки, не помеченные как устаревшие:

Я бы определенно использовал эту технологию.

Я предполагаю, что они говорят, что документация считается устаревшим контентом, потому что она была написана для.NET 2.0 framework. При этом, как сказал Саймон, технология, стоящая за ним, все еще хороша в использовании.

Хорошая вещь об использовании aspnet_regiis для шифрования вашего файла web.config является то, что он прозрачен для приложения. Вы можете написать свою логику, предполагая, что разделы appSettings или connectionStrings не зашифрованы, и если они зашифрованы с использованием этого метода, платформа.NET позаботится о расшифровке их, прежде чем дать вам значение.

При использовании этого метода нужно помнить, что он зашифрует весь раздел appSettings. Если вы откроете свой web.config после того, как он зашифрован, вы не увидите ни одного из ключей, а только большой зашифрованный кусок данных.

Другие вопросы по тегам