加密非ASP.Net应用程序中的连接字符串

时间:2011-02-12 00:20:00

标签: c# wpf connection-string app-config

我正在使用C#& WPF,当然还有app.config文件。我无法找到存储在app.config中的加密连接字符串示例。有很多ASP.NET和web.config的例子,但app.config没有什么可靠的。我遇到的唯一例子清楚地表明字符串在它首次加密的同一台机器上只是“可解码”(即使是一个字?)。在app.config中使用加密连接字符串(或其他数据)是否有可行的选项?

1 个答案:

答案 0 :(得分:5)

Encrypt ConnectionStrings in App.config

private void ProtectSection(String sSectionName)
{
    // Open the app.config file.
    Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
    // Get the section in the file.
    ConfigurationSection section = config.GetSection(sSectionName);
    // If the section exists and the section is not readonly, then protect the section.
    if (section != null)
    {
    if (!section.IsReadOnly())
        {
        // Protect the section.
            section.SectionInformation.ProtectSection("RsaProtectedConfigurationProvider");
            section.SectionInformation.ForceSave = true;
            // Save the change.
            config.Save(ConfigurationSaveMode.Modified);
         }
     }
}