ASP.Net MVC5:如何在web.config中加密解密连接字符串

时间:2018-04-13 11:59:14

标签: asp.net encryption web-config

请阅读本文http://tutorialslink.com/Articles/Encrypt-and-Decrypt-Connection-Strings-in-Webconfig/52

他们说如果我们使用这个命令,那么连接字符串将被加密aspnet_regiis.exe -pef "connectionStrings" "<Path of the Folder containing the Web.Config file>"和 假设此命令将解密连接字符串aspnet_regiis.exe -pdf "connectionStrings" "<Path of the Folder containing the Web.Config file>"

但问题是如果我们采用这种方法,当我们将网站托管在不同的PC中时,它可能无效。

所以请告诉我我们应该采用什么方法来加密/解密 连接字符串或web.config中的任何部分,它们可以在任何电脑上使用。

提前感谢。

1 个答案:

答案 0 :(得分:1)

我不知道您的数据有多敏感,但我想您可以尝试以下方法:

  1. 首先手动加密connectionString(例如,使用AES(Rijndael))。
  2. 将加密的字符串粘贴到web.config中。
  3. 使用类似的内容解密代码中的字符串

    private string getConnectionString()
    {
        string encrypted = System.Configuration.
              ConfigurationManager.AppSettings["connectionString"];
    
        //Rijndael or any other form of decryption here...
        //.....
        //.....
    
        return decryptedString;
    }
    
  4. 使用解密的connectionString连接到您的数据库! :)