Willcode4cash icon

Encrypt connection string

Willcode4cash | PRO | 08/11/16 12:01:44 AM UTC | 0 ⭐ | 258 👁️ | Never ⏰ | []
C# |

1.34 KB

|

None

|

0 👍

/

0 👎

namespace MyApp.Web.Models
{
    using System.Configuration;
 
    public static class EncryptConnection
    {
        public static void EncryptConnectionString(bool encrypt = false)
        {
            // Open the configuration file and retrieve the connectionStrings section.
            var configFile = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
            var configSection = configFile.GetSection("connectionStrings") as ConnectionStringsSection;
 
            if (configSection == null) return;
            if ((configSection.ElementInformation.IsLocked) || 
                (configSection.SectionInformation.IsLocked)) return;
 
            // encrypt is true and section is unprotected, so encrypt
            if (encrypt && !configSection.SectionInformation.IsProtected)
                configSection.SectionInformation.ProtectSection("DataProtectionConfigurationProvider");
 
            // encrypt is false and section is protected, so unencrypt
            if (!encrypt && configSection.SectionInformation.IsProtected)
                configSection.SectionInformation.UnprotectSection();
 
            // re-save the configuration file section
            configSection.SectionInformation.ForceSave = true;
 
            // Save the current configuration.
            configFile.Save();
        }
    }
}

Comments