如何在web.config中加密连接

时间:2015-07-27 06:43:28

标签: asp.net

我在网络配置文件中有以下连接字符串:

 <connectionStrings>
    <add name="ConString2" connectionString="Data Source=testdb;Persist Security Info=True;User ID=test;Password=test;Unicode=True;" providerName="System.Data.OracleClient"/>
    <add name="ConString3" connectionString="Data Source=testdb;Persist Security Info=True;User ID=test;Password=test;Unicode=True;" providerName="Oracle.DataAccess.Client"/>
  </connectionStrings>

我希望以加密格式保留连接字符串,当我用来从数据库中获取数据时,我想解密连接并连接到数据库。

2 个答案:

答案 0 :(得分:2)

请查看此链接https://msdn.microsoft.com/en-us/library/dx0f3cf2(v=vs.85).aspx

这是使用IIS进行连接的默认处理。 您可以进行自定义加密。例如采取任何加密工具并加密连接。在传递连接字符串之前。解密它。

Password encryption/ decryption code in .NET

答案 1 :(得分:1)

你可以借助“aspnet_regiis.exe”加密web配置文件。这个文件位于以下位置: 的%WINDIR%\ Microsoft.NET \框架\

所以将命令提示符目录更改为上面的位置,然后键入:

 aspnet_regiis.exe -pef section physical_directory
  -- or --
aspnet_regiis.exe -pe section -app virtual_directory

示例:

aspnet_regiis.exe -pef "connectionStrings" "C:\folder_where_webconfig_file_exit"

和ASP.Net将处理连接字符串的解密。

有关更多信息,请访问以下链接:

http://www.asp.net/web-forms/overview/data-access/advanced-data-access-scenarios/protecting-connection-strings-and-other-configuration-information-cs

http://weblogs.asp.net/sreejukg/securing-sections-in-web-config