加密app.config中的连接字符串

Bla*_*de3 43 c# app-config sql-server-2008

我在app.config中加密连接字符串时遇到问题.我的代码将保护app.config的connectionStrings部分,但密码仍然以纯文本显示.

我需要加密连接字符串,因此在部署时它不是纯文本.我在web.config上看到了类似的问题,但不是app.config.

小智 51

您可以轻松地应用与web.config相同的解决方案,您只需将app.config重命名为web.config,使用aspnet_regiis工具进行加密,然后将其重命名为app.config.

  1. 将app.config重命名为web.config
  2. 打开命令提示符并键入:(
    %windir%\Microsoft.NET\Framework\v2.0.50727\aspnet_regiis -pef "connectionStrings" c:\<folder containing your web.config> 在文件夹级别停止,不要将尾随"\")
  3. 将web.config重命名为app.config

您可以在记事本中打开它以查看加密文件.在visual studio中,您将看到它已被解密.您可以像使用未加密的方式一样使用连接字符串.

  • 这只能在用于加密文件的同一台计算机上运行; 如果你部署到另一台计算机它不会工作,[从微软说明](https://docs.microsoft.com/en-us/dotnet/framework/data/adonet/connection-strings-and-configuration-files) (15认同)
  • 完善!对点!和解密:%windir%\ Microsoft.NET\Framework\v2.0.50727\aspnet_regiis -pdf"connectionStrings"c:\ folder (6认同)
  • 这对我有用,并且比接受的答案更容易实现. (4认同)
  • 对我来说,我必须以管理员身份运行命令提示符才能使其正常工作。 (2认同)

Joh*_*ell 23

看看这篇文章它有一些非常有用的例子.你基本上是System.Configuration.SectionInformation.ProtectSection想帮助你.

还可以查看实现受保护的配置

  • 此方法是否可用于其中的DataSet和TableAdapter?他们选择存储在app.config中的ConnectingStrings ..如果它的加密它仍会自动解密? (2认同)
  • 这基本上是一个仅链接的答案。您介意将链接的要点添加到您的答案中,以便在链接断开时保持答案有用吗? (2认同)

小智 5

\xe2\x80\xa2 重命名App.config file to web.config<br>\n\xe2\x80\xa2 以管理员身份运行命令提示符:

\n\n

对于加密:

\n\n

C:\\WINDOWS\\Microsoft.NET\\Framework\\v2.0.50727\\aspnet_regiis.exe -pef "connectionStrings"您的项目位置在引号内,并且-prov "DataProtectionConfigurationProvider"

\n\n

前任:

\n\n
C:\\WINDOWS\\Microsoft.NET\\Framework\\v2.0.50727\\aspnet_regiis.exe -pef "connectionStrings" "D:\\location\\location1\\location" -prov "DataProtectionConfigurationProvider" \n
Run Code Online (Sandbox Code Playgroud)\n\n

对于解密:

\n\n

C:\\WINDOWS\\Microsoft.NET\\Framework\\v2.0.50727\\aspnet_regiis.exe -pdf "connectionStrings"您的项目位置在引号内。

\n\n

前任:

\n\n
C:\\WINDOWS\\Microsoft.NET\\Framework\\v2.0.50727\\aspnet_regiis.exe -pdf "connectionStrings" "D:\\location1\\location" \n
Run Code Online (Sandbox Code Playgroud)\n\n

对于错误:

\n\n

在配置中添加此内容xmlns="http://schemas.microsoft.com/.NetConfiguration/v2.0"

\n\n

像这样:

\n\n

在此输入图像描述

\n\n

\xe2\x80\xa2 最后,重命名web.configApp.Config

\n