1、打开记事本,然后将下面的代码复制到一个新文件中。
<%@ Page Language="C#" %>
<%
Response.Write(System.Security.Principal.WindowsIdentity.GetCurrent().Name);
%>
保存 my.aspx 到你的web目录 ,运行一下窗体显示 “ NT AUTHORITY/NETWORK SERVICE ”。成功!
2、(关键一步)运行cmd,执行以下
aspnet_regiis -pa "NetFrameworkConfigurationKey" "NT AUTHORITY/NETWORK SERVICE"
说明:注册默认的 RsaProtectedConfigurationProvider 的RSA 密钥容器,
NetFrameworkConfigurationKey 是 RsaProtectedConfigurationProvider 的默认provider。 成功!
3、现在,可以加密web.config ,运行:
加密:aspnet_regiis -pe "connectionStrings" -app "/Myweb"
说明:"connectionStrings" 是要加密的节,"/Myweb"是的web目录
解密:aspnet_regiis -pd "connectionStrings" -app "/Myweb"
成功!
注意: "connectionStrings" 是你想要加密的节点名称,/Myweb是你要加密的虚拟目录,如果没有自己创建!
4、这样就可以在程序里调用了(不用解密, 哈哈):
...
string connstr= ConfigurationManager.ConnectionStrings["myConnstr"].ConnectionString.ToString();
...
同样的,也可以用创建自己的RSA 密钥容器,如下:
(1)、创建 "MyKeys" 密钥容器,运行:aspnet_regiis -pc "MyKeys" -exp
(2)、在web.config里加入以下:
<protectedData>
<providers>
<add name="MyProvider"
type="System.Configuration.RsaProtectedConfigurationProvider, System.Configuration, Version=2.0. 0.0,
Culture=neutral, PublicKeyToken=b03f5f7f11d0a3a,
processorArchitecture=MSIL"
keyContainerName="MyKeys"
useMachineContainer="true" />
</providers>
</protectedData>
保存。
(3)、授予帐户对计算机级别的 "MyKeys" RSA 密钥容器的访问权限,运行:
aspnet_regiis -pa "MyKeys" "NT AUTHORITY/NETWORK SERVICE"
(4)、现在,可以加密web.config ,运行:
加密:aspnet_regiis -pe "connectionStrings" -app "/Myweb" -prov "MyProvider"
说明:"connectionStrings" 是要加密的节,"/Myweb"是的web目录,"MyProvider" 自己密钥容器
解密:aspnet_regiis -pd "connectionStrings" -app "/Myweb" -prov "MyProvider"
加密Web.Config文件
ASP.NET Web.Config 加密教程
最新推荐文章于 2023-05-26 10:40:14 发布
本文介绍如何使用 aspnet_regiis 工具加密 ASP.NET 应用中的 web.config 文件,保护连接字符串等敏感信息。通过创建 RSA 密钥容器并设置权限,实现对配置文件的安全加密。
228

被折叠的 条评论
为什么被折叠?



