在NON ASP.Net应用程序中加密连接字符串[英] Encrypt connection string in NON ASP.Net applications

本文是小编为大家收集整理的关于在NON ASP.Net应用程序中加密连接字符串的处理/解决方法,可以参考本文帮助大家快速定位并解决问题,中文翻译不准确的可切换到English标签页查看源文。

问题描述

我正在使用C#&WPF,当然还有一个app.config文件.我找不到存储在app.config中的加密连接字符串的示例.有很多关于asp.net和web.config的示例,但对于app.config来说,没有任何示例.我遇到的唯一示例清楚地表明,该字符串仅在首先加密的同一台计算机上是"可解码"(甚至是一个单词?).在app.config?

中使用加密连接字符串(或其他数据)是否有可行的选项?

推荐答案

strings-programmatily-in--app-config/" rel=" rel="nofollow, .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);
         }
     }
}

本文地址:https://www.itbaoku.cn/post/1938246.html

问题描述

I am working with C# & WPF and, of course, an app.config file. I have not been able to find an example of encrypted connection strings, stored in the app.config. There's plenty of examples for ASP.NET and web.config but nothing solid for app.config. The only examples I have come across clearly state that the string is only "decode-able" (is that even a word?) on the same machine that it was first encrypted on. Are there any viable options for working with encrypted connection strings (or other data) in an app.config?

推荐答案

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);
         }
     }
}