在app.config中加密密码

时间:2012-09-04 10:19:59

标签: c# entity-framework-4 sql-server-ce-4

我使用Entity Framework使用密码创建数据库的SQLServer连接:

connectionString="DataSource=|DataDirectory|DB.sdf;Password=abc

如何在使用Entity Framework时保护密码?

3 个答案:

答案 0 :(得分:1)

    ConnectionStringsSection oSection = Configuration.ServiceConfiguration.GetConnectionStrings();
    if(!oSection.SectionInformation.IsLocked && !oSection.SectionInformation.IsProtected)
    {
        oSection.SectionInformation.ProtectSection("RSAProtectedConfigurationProvider"); 
        oSection.CurrentConfiguration.Save();
    }

答案 1 :(得分:0)

如果您有权访问服务器,则可以使用cmd中的Web配置加密工具。我在与包含以下内容的web.config相同的文件夹中创建.bat文件:

aspnet_regiis -pef connectionStrings .
aspnet_regiis -pef appSettings .
pause

这将加密connectionStrings整个部分,在我的例子中,也是appSettings整个部分。

要解密,请执行:

aspnet_regiis -pdf connectionStrings .
aspnet_regiis -pdf appSettings .
pause

您需要从服务器运行它。

答案 2 :(得分:0)

您可以使用此处的示例撰写EncDecHelper.Decrypt Encrypt/Decrypt string in .NET

您可以在此处找到相关信息: Encrypt password in App.config