确保计算机上已经安装了IIS,并且建立的ASP.NEt网站.
(1)授予应用程序对 RSA 加密密钥的读取权限.因为ASP.NET 应用程序必须能读取用于加密的密钥,才能对 Web.config 文件中的已加密信息进行解密。Machine.config 文件中缺省指定了一个 提供程序, .. name="RsaProtectedConfigurationProvider" keyContainerName="NetFrameworkConfigurationKey" ..,即默认 RsaProtectedConfigurationProvider 提供程序使用的 RSA 密钥容器名为 "NetFrameworkConfigurationKey"。
下面取得ASP.NET应用程序的标识,打开文本编辑器,然后将下面的代码复制到一个新文件getId.aspx中。在浏览器中查看,浏览器中将显示 ASP.NET 应用程序的模拟标识
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
(2) -pe选项进行加密
aspnet_regiis -pe "connectionStrings" -app "/MyApplication" 对connectionStrings节进行加密
aspnet_regiis -pd "appSettings" -app "/MyApplication"对appSettings节加密
..
(3)解密时使用-pd选项.
(4)查看已解密的配置值
打开文本编辑器,然后将下面的 ASP.NET 代码复制到一个新文件中。
1
<%@ Page Language="C#" %>
2
<%@ Import Namespace="System.Configuration" %>
3
<%@ Import Namespace="System.Web.Configuration" %>
4
<script runat="server">
5![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
6
public void Page_Load()
7
{
8
ConnectionStringsGrid.DataSource = ConfigurationManager.ConnectionStrings;
9
ConnectionStringsGrid.DataBind();
10![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
11
Configuration config = WebConfigurationManager.OpenWebConfiguration(Request.ApplicationPath);
12
MachineKeySection key =
13
(MachineKeySection)config.GetSection("system.web/machineKey");
14
DecryptionKey.Text = key.DecryptionKey;
15
ValidationKey.Text = key.ValidationKey;
16
}
17![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
18
</script>
19
<html>
20![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
21
<body>
22![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
23
<form runat="server">
24![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
25
<asp:GridView runat="server" CellPadding="4" id="ConnectionStringsGrid" />
26
<P>
27
MachineKey.DecryptionKey = <asp:Label runat="Server" id="DecryptionKey" /><BR>
28
MachineKey.ValidationKey = <asp:Label runat="Server" id="ValidationKey" />
29![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
30
</form>
31![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
32
</body>
33
</html>
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
2
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
3
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
4
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
5
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
6
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
7
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif)
8
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
9
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
10
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
11
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
12
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
13
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
14
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
15
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
16
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockEnd.gif)
17
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
18
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
19
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
20
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
21
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
22
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
23
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
24
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
25
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
26
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
27
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
28
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
29
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
30
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
31
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
32
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
33
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
将看到加密的 Web.config 文件中已解密的值