加密c#代码中的连接字符串

时间:2017-09-28 15:15:26

标签: c# android sql xamarin xamarin.forms

我的c#代码中有连接字符串,所以我可以使用存储过程从数据库中获取数据。

连接字符串是这样的:

connection.ConnectionString = "Data Source=192.168.4.33;Initial Catalog=database;Persist Security Info=True;User ID=test;Password=@test312321";

如何加密连接,然后当我想使用它解密?

1 个答案:

答案 0 :(得分:0)

您可以使用:

try
{
    // Open the configuration file and retrieve 
    // the connectionStrings section.
    Configuration config = ConfigurationManager.
        OpenExeConfiguration(exeConfigName);

    ConnectionStringsSection section =
        config.GetSection("connectionStrings")
        as ConnectionStringsSection;

    if (section.SectionInformation.IsProtected)
    {
        // Remove encryption.
        section.SectionInformation.UnprotectSection();
    }
    else
    {
        // Encrypt the section.
        section.SectionInformation.ProtectSection(
            "DataProtectionConfigurationProvider");
    }
    // Save the current configuration.
    config.Save();

    Console.WriteLine("Protected={0}",
        section.SectionInformation.IsProtected);
}
catch (Exception ex)
{
    Console.WriteLine(ex.Message);
}

或您使用企业库数据访问应用程序块来使用RSAProtectedConfigurationProvider或DPAPIProtectedConfigurationProvider执行加密。 链接:  http://msdn.microsoft.com/en-us/library/89211k9b(VS.80).aspx