加密Web.Config

时间:2009-07-02 16:05:33

标签: c# .net asp.net encryption web-config

重复Encrypting config files for deployment .NETEncrypting config files for deployment


在web.config文件中加密信息的最佳方法和工具是什么?

7 个答案:

答案 0 :(得分:11)

以下是无需编程即可加密web.config文件的命令...

用于加密

aspnet_regiis -pef "Section" "Path exluding web.config"

解密

aspnet_regiis -pdf "Section" "Path exluding web.config"

通过此命令,您可以加密或解密所有部分。

答案 1 :(得分:7)

我相信有两种方法可以做到这一点:

使用DPAPIRSAdoing it programmatically使用aspnet_regi。

编程方式非常方便,特别是如果您还想加密app.config。

根据我使用它的经验,如果您编写自定义配置部分,则已将包含该部分的类的DLL安装到GAC中。对于我正在工作的项目,我基本上编写了以下方法:

  • 将配置DLL复制到GAC。
  • 执行加密。
  • 从GAC中删除配置DLL。

如果您只是加密连接字符串,那么这可能不会成为问题。您还需要记住是要在机器范围内加密还是在特定用户帐户加密 - 根据您的情况,这两个选项都很有用。为简单起见,我坚持使用机器加密。我提供的链接解释了两种方法的优点。

答案 2 :(得分:4)

答案 3 :(得分:2)

在框架目录中使用aspnet_regiis工具:

                                        -- CONFIGURATION ENCRYPTION OPTIONS --

pe section            Encrypt the configuration section. Optional arguments:
                      [-prov provider] Use this provider to encrypt.
                      [-app virtual-path] Encrypt at this virtual path. Virtual path must begin with a forward slash.
                      If it is '/', then it refers to the root of the site. If -app is not specified, the root
                      web.config will be encrypted.
                      [-site site-name-or-ID] The site of the virtual path specified in -app. If not specified, the
                      default web site will be used.
                      [-location sub-path] Location sub path.
                      [-pkm] Encrypt/decrypt the machine.config instead of web.config.

pd section            Decrypt the configuration section. Optional arguments:
                      [-app virtual-path] Decrypt at this virtual path. Virtual path must begin with a forward slash.
                      If it is '/', then it refers to the root of the site. If -app is not specified, the root
                      web.config will be decrypted.
                      [-site site-name-or-ID] The site of the virtual path specified in -app. If not specified, the
                      default web site will be used.
                      [-location sub-path] Location sub path.
                      [-pkm] Encrypt/decrypt the machine.config instead of web.config.

答案 4 :(得分:1)

您应该从这里开始,易于理解,在MSDN中详细解释分步指南:How To: Encrypt Configuration Sections in ASP.NET 2.0 Using DPAPI

答案 5 :(得分:1)

您可以通过aspnet_regiis加密web.config中的连接字符串。

加密Web.Config文件中的“连接字符串”部分 您需要按照以下步骤对Web.Config文件中的“连接字符串”部分进行加密

  1. 打开Visual Studio命令提示符 您需要从“开始”菜单=>“程序” =>“ Microsoft Visual Studio 2010” =>“ Visual Studio工具” =>“ Visual Studio命令提示符”中打开“ Visual Studio命令提示符”。

  2. 使用aspnet_regiis.exe工具加密Web.Config中的“连接字符串”部分

为了加密Web.Config文件中的ConnectionString部分,我们将需要使用aspnet_regiis.exe工具。

语法:

aspnet_regiis.exe -pef“ connectionStrings”“”

示例:

aspnet_regiis.exe -pef“ connectionStrings”“ D:\ Sai \ Projects \ MyTestWebsite”。

您可以参考本文档以获取完整信息:https://microsoftdotnetsolutions.blogspot.com/2018/11/encrypt-and-decrypt-of-connection.html

答案 6 :(得分:0)

使用aspnet_regiis.exe命令行工具

您还可以使用aspnet_regiis.exe命令行工具加密和解密Web.config文件中的部分,该工具位于%WINDOWSDIR%\ Microsoft.Net \ Framework \ version目录中。

请看这里:http://aspnet.4guysfromrolla.com/articles/021506-1.aspx