如何在ASP.NET MVC 4中加密和解密连接字符串?

时间:2014-09-15 11:27:51

标签: asp.net-mvc-4 c#-4.0 encryption entity-framework-5

我希望在Entity Framework 5中使用它时加密连接字符串并解密。

我做了什么,我的连接字符串为

<add name="HContext" connectionString="Data Source=(localdb)\Projects;Initial Catalog=MyDBName;Integrated Security=True;" providerName="System.Data.SqlClient" />

我已将此连接加密到

string encryptedString = KimberlyClark.EuroCRM.Encryption.Encrypt(encryptedString, "mykey");

之后我将加密的字符串复制到我的web.config文件中并使用如下

public class HContext : DbContext
{
    public HContext()
        : base("HContext") 
    {
        string encryptedString = System.Configuration.ConfigurationManager.ConnectionStrings["HContext"].ConnectionString;
        string connectString = KimberlyClark.EuroCRM.Encryption.Decrypt(encryptedString, "mykey");
        Database.Connection.ConnectionString = connectString;
    }

}

但是我在构造函数

中遇到错误

初始化字符串的格式不符合从索引0开始的规范

由于

1 个答案:

答案 0 :(得分:0)

我可以在你的代码中看到,你没有加密你的连接字符串。 检查这一行:

string encryptedString = KimberlyClark.EuroCRM.Encryption.Encrypt(encryptedString, "mykey");

您应该传递一个连接字符串的参数,而不是encryptedString变量。