Самый безопасный способ использовать строки подключения SQL в VB.Net - PullRequest
0 голосов
/ 19 марта 2012

Я создаю программу на VB.Net, которая активно взаимодействует с 2 большими базами данных MSSQL. Я не знаю тонны vb, и я довольно новичок, но я бы предположил, что, имея в коде строки подключения и выпуская программу, кому-то будет довольно просто отменить программу и получить информацию о моем соединении? поправьте меня, если я ошибаюсь.

Мой вопрос: мне интересно, есть ли более безопасный способ использовать строку подключения в моей программе. Должен ли я просто зашифровать свое приложение? Создать модуль или DLL?

Ответы [ 2 ]

2 голосов
/ 19 марта 2012

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

Ответ aspnet_regiis.exe

Местоположение может отличаться в зависимости от вашей системы и версии .NET, но поиск файлов должен сузить его.

Допустим, у вас есть программа myapp, расположенная в каталоге c: \ dotnetaps \ myapp.

Я использую следующую команду для шифрования части "connectionStrings" файла web.config:

C:\Windows\Microsoft.NET\Framework64\v4.0.30319\aspnet_regiis.exe -pef connectionStrings C:\dotnetapps\myapp

Подождите секунду: web.config предназначен только для веб-приложений, а не локальных, верно? aspnet_regiis.exe работает только для web.config, но формат точно такой же, как app.config . Поэтому все, что вам нужно сделать, это переименовать app.config в web.config, запустить инструмент и переименовать его обратно. Немного неловко, но ничего, что не может быть автоматизировано командным файлом.

@ Encrypts connectionStrings in app.config
ren C:\dotnetapps\myapp\app.config web.config
path\to\exe\aspnet_regiis.exe -pef connectionStrings C:\dotnetapps\myapp
ren web.config app.config

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

0 голосов
/ 19 марта 2012

Вы можете сохранить его в файле ресурсов (MyFile.resx) в виде зашифрованной строки.

...