在web.config文件中加密和存储密码

我在web.config文件中有以下信息。

    

我如何加密和存储? 我该如何解密和使用?

请参阅文章 – http://msdn.microsoft.com/en-us/library/k6h9cz8h%28v=vs.80%29.aspx

命令是:

aspnet_regiis.exe -pe“appSettings”-site“MySharePoint”-app“/”

MySharePoint是一个虚拟目录。 web.config文件也应该在目录中。

使用aspnet_regiis或等效API加密配置节的缺点是它会加密整个部分。

从安全角度来看很好,但是管理员更难以检查同一部分中的其他非敏感配置数据。 appSettings是管理员经常要检查的部分。

一种选择是将您的凭据放在不同的部分(例如,在部分中创建一个虚拟连接字符串)并仅加密此部分:

  ...   

您当然必须编写代码来解析虚拟连接字符串(String.Split)并提取凭据。 类似于以下内容(为简单起见省略error handling):

 string s = ConfigurationManager.ConnectionStrings["AdminCredentials"].ConnectionString; string[] tokens = s.Split(';'); string userName = tokens[0].Split('=')[1]; string password = tokens[1].Split('=')[1]; ... 

通过这样做,您可以保持appSettings部分不加密。