【问题标题】:Encrypt SQL connection string加密 SQL 连接字符串
【发布时间】:2017-02-05 02:31:12
【问题描述】:

我知道如何使用System.Configuration.SectionInformation.ProtectSection来加密和解密app.config中的连接字符串(VS 2010,C#,.Net 3.5),但是我想任何知道这种方法的人都可以获取加密的字符串并解密它,对吗?

如果不是,请告诉我原因。如果是,是否有任何解决方法?我搜索但找不到任何帮助。

【问题讨论】:

  • stackoverflow.com/questions/7324258/… 的可能副本,答案非常好。这能回答你的问题吗?
  • 不,不是我需要的。
  • 为什么是sql标签? (我根本看不到 SQL 连接。)
  • 您研究过 RSA 吗? new System.Security.Cryptography.RSACryptoServiceProvider()
  • 否,因为加密密钥存储在您的 PC 上。因此,“任何人”都需要访问您的计算机才能解密该部分。正如@RobLang 提供的链接中所述

标签: c# sql database-connection


【解决方案1】:

当一个字符串被加密时,它使用安装在机器上的证书来执行加密,所以你需要字符串和机器密钥来解密它。

有关加密配置部分的完整说明位于MSDN。

【讨论】:

    【解决方案2】:

    要解密连接字符串信息,您可以使用以下方法:

    Configuration config = WebConfigurationManager.OpenWebConfiguration(Request.ApplicationPath);
    ConfigurationSection section = config.GetSection("connectionStrings");
    if (section.SectionInformation.IsProtected)
    {
       section.SectionInformation.UnprotectSection();
       config.Save();
    }
    

    阅读此article的完整信息。

    【讨论】:

      猜你喜欢
      • 2011-01-10
      • 2010-12-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-10-10
      • 2016-08-09
      • 2016-02-10
      相关资源
      最近更新 更多