Обычно строка подключения к базе данных помещается в файл web.config, поскольку существует API, который может напрямую обращаться к данным и извлекать их.
Но есть и некоторые проблемы с безопасностью. Строка подключения к базе данных находится в файле .config в виде открытого текста.
В .NET есть такой инструмент, как средство регистрации ASP.NET IIS (Aspnet_regiis.exe), который может шифровать разделы файла .config сайта.
Шифрование: aspnet_regiis -pef «Имя раздела конфигурации в зашифрованном файле web. config" "Каталог, в котором находится файл web.config"
Расшифровка: aspnet_regiis -pdf «Имя раздела конфигурации в зашифрованном файле web.config» «Каталог, в котором находится файл web.config»
перед шифрованием:
<строки подключения>
<add name="pubsConnectionString" ConnectionString="Источник данных=MHLSQL2000;Исходный каталог=pubs;Идентификатор пользователя=sa;Пароль=sql2000"
ProviderName="System.Data.SqlClient" />
</connectionStrings>
После шифрования:
<connectionStrings configProtectionProvider="RsaProtectedConfigurationProvider">
<EncryptedData Type=" http://www.w3.org/2001/04/xmlenc#Element "
xmlns=" http://www.w3.org/2001/04/xmlenc #">
<Алгоритм метода шифрования=" http://www.w3.org/2001/04/xmlenc#tripledes-cbc " />
<KeyInfo xmlns=" http://www.w3.org/2000/09/xmldsig #">
<EncryptedKey xmlns=" http://www.w3.org/2001/04/xmlenc #">
<Алгоритм метода шифрования=" http://www.w3.org/2001/04/xmlenc#rsa-1_5 " />
<KeyInfo xmlns=" http://www.w3.org/2000/09/xmldsig #">
<KeyName>Ключ RSA</KeyName>
</Ключевая информация>
<Данные шифра>
<CipherValue>e15rhaABrAtua53kjZ2a3U+ijC/Hr5ZhGUWGL5swkfxJaHS6hxGacw7CxyNlhnJwRc44ZE2edsKRfSJeXPS76fe4znlE5BqaxMMMWK+yFMiuWM+Cor1DFffheRNjAB7pMYdRQoMRCB q6H18gx IGlRY1dXtUERzNLJ5ug+S/qdj8E=</CipherValue>
</ЦиферДанные>
</EncryptedKey>
</Ключевая информация>
<Данные шифра>
<CipherValue>Y1SjIK04jc0cS8Fg7EJyLoiXAUWc+I708SOsebWHeihg4kRFEF4wGvQLyrZQqFXNUIm56tIktQgapd7px92nfwAzYFv8R2gYV/7JwjfbjpM1v27p5WgNycJbo8H4uNj4 Lw gPfoqy2Dl41geMFHXCOak8IWxrA8MkbpIsKHFTJNkMo9yph+vVUMdViwaBSOKONSrXJ2k16 kjHoSjJe1VP6WfMFZCeL7+nMuLf4sNZc34d0fl3S50H+kNwZre9MkUCSLr5pImCv5fhgHP+E e9 QwS8ahvOvRwUY7kWMr+M+jKoS+FDbhuRIkcbWaPP75XzdmyBN/vGwcMfX63faA9vdNOsl1a75Kd0L</CipherValue>
</ЦиферДанные>
</EncryptedData>
</connectionStrings>