Возможный дубликат:
Как зашифровать строку подключения в WinForms 1.1 app.config?
Какой лучший метод защиты информации строки подключения в файле app.config для развернутых приложений winforms?
Самый безопасный способ (при условии, что клиенты Windows и поддерживаемый сервер базы данных) - использовать встроенную аутентификацию и избегать распространения паролей при подключении струны вообще.
Data Source=servername;Initial Catalog=dbname;Integrated Security=SSPI;
Каждому пользователю потребуется доступ к серверу базы данных. Я нашел, что самый простой способ сделать это - использовать группы активного каталога: предоставить группе соответствующий доступ на сервере базы данных, а также добавлять и удалять пользователей из этой группы по мере необходимости.
Это действительно зависит от того, как вы ожидаете, что кто-то получит строку подключения. Если вас беспокоят только пользователи вашего приложения (которые не являются разработчиками), просто зашифруйте строку подключения и поместите зашифрованную строку в константу вашего приложения. Используйте ключ во время выполнения, чтобы расшифровать зашифрованную строку, которую вы использовали для константы, а затем запутать свой код перед его развертыванием. Это доказательство дурака? Конечно, нет, но это, вероятно, помешает 99,9% людей получить вашу строку подключения. Им придется сначала дизассемблировать ваш код и получить зашифрованную строку, а затем получить доступ к ключу. Если вы беспокоитесь о разработчиках, то указанное выше решение будет работать до тех пор, пока у них нет доступа к исходному коду в производственной среде и, возможно, к ключу, используемому для шифрования строки подключения. Конечно, кто-то должен ввести информацию о подключении, но предоставить к ней доступ только этому человеку. Надеюсь это поможет.
Зашифруйте его вручную или с помощью инструмента настройки, поставляемого с EntLib.
это должно помочь вам начать работу.
Изменить: конечно, как говорили другие, использование интегрированной безопасности - ваш лучший выбор, но я понимаю, что бывают случаи, когда это не вариант.
В этих случаях вам нужно будет немного поработать. Я делал это раньше и знаю, что это работает. Я сделаю ссылку на статью, в которой описаны проблемы и, в конечном итоге, рабочее решение для этого с приложениями Windows.
предупреждение: наденьте солнцезащитные очки, прежде чем переходить по этой ссылке.
http://guy.dotnet-expertise.com/PermaLink,guid,b3850894-3a8e-4b0a-aa52-5fa1d1216377.aspx