Где вы храните строки подключения? - PullRequest
2 голосов
/ 30 июля 2010

Во всех моих приложениях VB6 информация о соединении хранилась в зашифрованных полях базы данных. Никто не имеет доступа к базе данных, и если бы кто-то сделал, все, что они увидели бы, было набором зашифрованных значений.

У этого метода всегда был недостаток. Извлечение требуемой информации о соединении с использованием жестко заданного идентификатора / пароля в приложении, которое получит эту информацию о соединении и сформирует строку.

В мире .NET я сейчас храню этот жестко запрограммированный идентификатор / пароль в файле app.exe.config. Рекомендуемый метод - зашифровать строку подключения в файле?

Какие классы я могу использовать для шифрования / дешифрования?

Ответы [ 2 ]

5 голосов
/ 30 июля 2010

Читать:

Шифрование информации о конфигурации в приложениях ASP.NET 2.0

По сути, инфраструктура ASP.NET имеет инструменты, необходимые для шифрования, а подсистема конфигурации .NET знает, как расшифровывать при необходимости - так что на самом деле все уже готово для использования!

Для шифрования вы должны использовать утилиту aspnet_regiis, что-то вроде этого:

aspnet_regiis.exe -pef "connectionStrings" "C:\Inetpub\wwwroot\MySite" 

А для расшифровки - ничего не нужно делать, .NET делает это прозрачно для вас.

ОБНОВЛЕНИЕ: эти механизмы для ВСЕХ .NET - они являются частью базовой инфраструктуры .NET. Вы можете использовать эти методы и рецепты для своего консольного приложения или службы Windows. Microsoft предоставляет инструментальные средства для случая ASP.NET только для шифрования разделов web.config - но API и вызовы доступны для всех, чтобы использовать их в любом приложении .NET - сделал это сам, во всем, от консольного приложения, до служба Windows.

У меня есть небольшая утилита на моем SkyDrive , которая поставляется с полным источником .NET, которая показывает вам, как зашифровать любой раздел любого файла конфигурации .NET. Не стесняйтесь проверить это и использовать его в своих начинаниях любым удобным для вас способом.

3 голосов
/ 30 июля 2010
...