Прежде всего, раздел шифрования в web.config / app.config не относится только к Linq2Sql. .Net Framework поставляется со специальным набором классов, который позволяет вам независимо шифровать / дешифровать части web.config / app.config.
Вы можете зашифровать разделы вашего web.config с помощью провайдера DPAPI. Больше ничего не нужно менять в вашем приложении. вы все еще продолжаете читать appsettings и conn. струны как обычно. Используйте этот код ниже для шифрования / дешифрования частей вашего конфигурационного файла.
//call: ProtectSection("connectionStrings","DataProtectionConfigurationProvider");
private void ProtectSection(string sectionName, string provider)
{
Configuration config =
WebConfigurationManager.
OpenWebConfiguration(Request.ApplicationPath);
ConfigurationSection section = config.GetSection(sectionName);
if (section != null && !section.SectionInformation.IsProtected)
{
section.SectionInformation.ProtectSection(provider);
config.Save();
}
}
//call: UnProtectSection("connectionStrings");
private void UnProtectSection(string sectionName)
{
Configuration config =
WebConfigurationManager.
OpenWebConfiguration(Request.ApplicationPath);
ConfigurationSection section = config.GetSection(sectionName);
if (section != null && section.SectionInformation.IsProtected)
{
section.SectionInformation.UnprotectSection();
config.Save();
}
}