如何将Bin文件夹中的配置文件转换为非人类可读的格式?(c#)

时间:2014-02-24 03:05:36

标签: c# encryption config-files bin-folder

设置项目后,bin文件夹中有一些.config文件。我想让它们成为非人类可读的格式。 1.我知道我可以使用诸如asp net_ reg i i s -p e ...之类的命令,但该项目是一个Win Form项目,在我的配置文件中没有像Web.config这样的部分。我的配置文件格式如下:

<...>
  <add key="..." value="...." />
  <add key="..." value="..." />
</...>
  1. 我也尝试加密配置文件,但是有很多地方可以调用配置文件。这样做似乎太复杂了。
  2. 那么,是否有一些简单的方法可以使用C#将bin文件夹中的配置文件转换为非人类可读的格式?

1 个答案:

答案 0 :(得分:1)

您有两种选择..如果您对保护某些特殊参数感兴趣,例如密码,您只需加密它,并且只有加密值。如果您真的希望保护整个事物,可以使用SectionInformation.ProtectSection。

MSDN示例代码:

static public void ProtectSection()
{

    // Get the current configuration file.
    System.Configuration.Configuration config =
            ConfigurationManager.OpenExeConfiguration(
            ConfigurationUserLevel.None);


    // Get the section.
    UrlsSection section =
        (UrlsSection)config.GetSection("MyUrls");


    // Protect (encrypt)the section.
    section.SectionInformation.ProtectSection(
        "RsaProtectedConfigurationProvider");

    // Save the encrypted section.
    section.SectionInformation.ForceSave = true;

    config.Save(ConfigurationSaveMode.Full);

    // Display decrypted configuration  
    // section. Note, the system 
    // uses the Rsa provider to decrypt 
    // the section transparently. 
    string sectionXml =
        section.SectionInformation.GetRawXml();

    Console.WriteLine("Decrypted section:");
    Console.WriteLine(sectionXml);

}