Před časem jsem zde psal o šifrování connectionStringu pomocí aspnet_regiis.exe. Nyní jsem nabyl dojmu, že budu muset použít šifrování programové, tak jsem si ho vyzkoušel.
Vzhledem k tomu, že mám vytvořený příklad na úpravu souboru web.config, rozhodl jsem se doplnit ho o dvě tlačítka. Jedno pro zašifrování a druhé pro dešifrování sekce connectionStrings. Potřebný kód je ještě jednodušší než u zmíněné úpravy sekce v web.config.
//Tlačítko Dešifrovatprotected void Button4_Click(object sender, EventArgs e){ Configuration cfg = WebConfigurationManager.OpenWebConfiguration(Request.ApplicationPath); ConfigurationSection section = cfg.GetSection("connectionStrings"); if (section.SectionInformation.IsProtected) { section.SectionInformation.UnprotectSection(); cfg.Save(); }}
Samotné šifrování a dešifrování zajišťují metody ProtectSection() a UnprotectSection(). Metodě pro šifrování je potřeba předat jako parametr kontejner s šifrovacím klíčem.