In this post, I am going to share the “How to encryption a connection string of “web.config” file in ASP.Net MVC C# using “DataProtectionProvider” data protection section as,
ConfigSection.SectionInformation.ProtectSection("DataProtectionConfigurationProvider");
//Step 1: This below code is use to Encrypt connection string. namespace EncryptDecrypt_WebConfig { public class MvcApplication : System.Web.HttpApplication { protected void Application_Start() { AreaRegistration.RegisterAllAreas(); FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters); RouteConfig.RegisterRoutes(RouteTable.Routes); BundleConfig.RegisterBundles(BundleTable.Bundles); //ENCRYPT DECRYPT WEB CONFIG SECTIONS. EncryptDecryptWebConfigSettings(); } /// <summary> /// ENCRYPT DECRYPT WEB CONFIG SECTIONS. /// </summary> private static void EncryptDecryptWebConfigSettings() { // This is used to get application configuration. Configuration configurations = WebConfigurationManager.OpenWebConfiguration("~"); // Get connection string of app settings. ConnectionStringsSection connSectionString = (ConnectionStringsSection)configurations.GetSection("connectionStrings"); AppSettingsSection appSettingSection = (AppSettingsSection)configurations.GetSection("appSettings"); var settingInfo = connSectionString.SectionInformation; //This is used to protect multiple sections in web.config if (!settingInfo.IsProtected) { settingInfo.ProtectSection("DataProtectionConfigurationProvider"); settingInfo.ForceSave = true; } if (!settingInfo.IsProtected) { settingInfo.ProtectSection("DataProtectionConfigurationProvider"); settingInfo.ForceSave = true; } // Save modified config settings file. configurations.Save(ConfigurationSaveMode.Modified); } } }
//Step2 : Before Encrypted connection string look like below code. <connectionStrings> <add name="connectionStrings" connectionString="Data Source=.; Initial Catalog=TestDB;User ID=sa;Password=pwd" /> </connectionStrings>
//Step 3: After Encrypted connection string look like below code <connectionStrings configProtectionProvider="DataProtectionConfigurationProvider"> <EncryptedData> <CipherData> <CipherValue>AQAAANCMnd8BFdERjHoAwE/Cl+sBAAAA3KU9jdKx/Uaoa3JA+RE11wQAAAACAAAAAAAQZgAAAAEAACAAAACYC3M8esjUFKf448qYmP5u7mQz0VDApy+jBXwUbGf9WwAAAAAOgAAAAAIAACAAAAAL+ZLNTuvDLGLG2qlYpgbpBhnW+a8JsJNdSA+U1lz/drABAAAc/1SULZLGOL6ke7q1xLzBCyyCFmJXNz1Gb2eLDF1CbpzMDF4FObDBhYfhRMxu6SmaGgPIUtWUkQZLIkuKi5sJXzvLVnxO6c6OzQpiWR0bSrQe55xqyWDEf9LhPpXzjKTH/IFFj8IHCc8ojBoRIQzdzenKg3R7wewmuee7IpdBMbFZZtofHA3wYV4x2mmyLyfK4VahEZUhslsb+bkqFss18cSp7tY++2jCUmVS7U9rm+qv2tCsN+AfyTD1eyx7tzQsJN2tlNy2F86kjiCA7KFl/Bsunt4O8Ig935YfvmV/UK1fl33bZDof/8HNbzc3qKG+tz//0ccyhBbapb3gPre4ppCiITeVBysQF+fCl98AGFKZTGaL9NIdHTEkw+Q3PoD8LEO1LeuifEXqi2/Us+/YNb5CF4NgXc1XY86Q+12hh2s711RGtBRkmQFeKt7R/ZGIP+zxgkY7OemJhOARBN44uMn6DkdpxjloeN7FDdB6aXUnoRmkDjYxIkprqYRrdsVr4REo46SPge7qGT1ox1zafJuUxcQvL8xawCi3PrrkAyuC6jKjuwlxgGO1OgpBvDVAAAAAOMoxt1HPGzwdrrlqZJiV14ZzwZMuBwBy3882NGEwqKqU5yKcbRCEFCEmkpapyrTEJ3EaQVqWkgjhOJb4o/aovw== </CipherValue> </CipherData> </EncryptedData> </connectionStrings> //The ASP.Net code update code automatically after encrypted connection string. //You can see the above code.
//Step 4 : You can easily access connection string in your application i.e. string conn = ConfigurationManager.ConnectionStrings["connectionString"].ToString();
Reference links,
I hope you are enjoying with this post! Please share with
you friends. Thank you!!