C# 重新启动后,App.config解密失败

C# 重新启动后,App.config解密失败,c#,wpf,encryption,C#,Wpf,Encryption,我们有一个WPF应用程序,在第一次读取后对连接字符串进行加密: Configuration config = OpenConfiguration(configFileName); ConfigurationSection configSection = config.GetSection(sectionName); if (configSection == null) return false; if (!configSection.SectionInformation.IsPro

我们有一个WPF应用程序,在第一次读取后对连接字符串进行加密:

Configuration config = OpenConfiguration(configFileName);

ConfigurationSection configSection = config.GetSection(sectionName);

if (configSection == null)
    return false;

if (!configSection.SectionInformation.IsProtected)
{
    if (!configSection.SectionInformation.IsLocked)
    {
        configSection.SectionInformation.ProtectSection("DataProtectionConfigurationProvider");
        config.Save();
    }
}
我们在数百台机器上都安装了这个,到目前为止,一切都很顺利。第一次运行后,纯文本连接字符串将被加密。解密应该是自动进行的。但是,我们有一台机器无法在Windows重新启动后解密此信息

我的理解是,“DataProtectionConfigurationProvider”使用特定于系统的内容作为其加密密钥。 有人有什么想法可以帮我找到这个问题吗?我有点困惑,为什么这台机器不工作


提前感谢

为了解决这个问题,现在问题已经解决了


此特定计算机的部署存在问题,问题计算机上的文件MD5校验和不同。手动安装文件已清除此问题。

如果您试图对用户隐藏连接字符串,则执行此操作的安全性非常有限,因为如果您的应用程序可以解密,那么任何使用编译器和Google的人都可以解密。该软件在使用windows embedded的锁定系统上运行。所以对我们来说,这已经足够好了,因为只有我们的现场团队才能看到它。好的,当我看到WPF时,它通常意味着面向用户。