a亚洲精品_精品国产91乱码一区二区三区_亚洲精品在线免费观看视频_欧美日韩亚洲国产综合_久久久久久久久久久成人_在线区

首頁 > 編程 > C# > 正文

詳解C#App.config和Web.config加密

2019-10-29 21:02:20
字體:
來源:轉載
供稿:網友

打開cmd,進入vs安裝目錄C:/Windows/Microsoft.NET/Framework64/v4.0.30319

cd C:/Windows/Microsoft.NET/Framework64/v4.0.30319

如果是Web.config就直接加密,是App.config就先改為Web.config才可以進行加密

aspnet_regiis -pef "節點" "項目路徑"

例如:

需要加密的App.config數據庫連接字符串為

<connectionStrings> <add name="connStr" connectionString="Data Source=.;Initial Catalog=testDB;User ID=sa;Password=123456" /> </connectionStrings>

加密命令為

aspnet_regiis -pef "connectionStrings" "Web.config所在目錄"

如加密失敗

解決方案:

創建一個可導出的rsa密鑰容器,命名為Key

aspnet_regiis -pc "Key" -exp 

將Web.cofig/App.config的configuration增加屬性值xmlns,即改為

<configuration xmlns="http://schemas.microsoft.com/.NetConfiguration/v2.0">

將數據庫連接字符串改為以下:

 <configProtectedData>   <providers>    <clear />    <add name="KeyProvider" type="System.Configuration.RsaProtectedConfigurationProvider, System.Configuration, Version=2.0.0.0,Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" keyContainerName="Key" useMachineContainer="true"/>   </providers> </configProtectedData> <connectionStrings>   <add name="connStr" connectionString="Data Source=.;Initial Catalog=testDB;User ID=sa;Password=123456;" providerName="System.Data.SqlClient" /> </connectionStrings>

開始對配置文件進行加密

aspnet_regiis -pef "connectionStrings" "Web.config所在目錄" -prov "KeyProvider"

注意:vs會提示是否修改,選擇全是

解密配置文件

aspnet_regiis -pdf "connectionStrings" "Web.config所在目錄" 

如果是App.config改成的Web.config,加密成功之后再改為App.config,并刪除configuration的屬性xmlns值

未加密的Web.config/App.config文件內容:

<?xml version="1.0" encoding="utf-8" ?><configuration>  <startup>     <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5.2" />  </startup> <connectionStrings>  <add name="connStr" connectionString="Data Source=.;Initial Catalog=testDB;User ID=sa;Password=123456" /> </connectionStrings></configuration>

修改為加密后的Web.config/App.config文件內容:

<?xml version="1.0" encoding="utf-8" ?><configuration xmlns="http://schemas.microsoft.com/.NetConfiguration/v2.0"> <startup>     <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5.2" />  </startup> <configProtectedData>     <providers>       <clear />       <add name="KeyProvider" type="System.Configuration.RsaProtectedConfigurationProvider, System.Configuration, Version=2.0.0.0,Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" keyContainerName="Key" useMachineContainer="true"/>     </providers> </configProtectedData> <connectionStrings>     <add name="connStr" connectionString="Data Source=.;Initial Catalog=testDB;User ID=sa;Password=123456;" providerName="System.Data.SqlClient" /> </connectionStrings></configuration>

加密后的Web.config/App.config文件內容:

<?xml version="1.0" encoding="utf-8" ?><configuration xmlns="http://schemas.microsoft.com/.NetConfiguration/v2.0"> <startup>     <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5.2" />  </startup> <configProtectedData>     <providers>       <clear />       <add name="KeyProvider" type="System.Configuration.RsaProtectedConfigurationProvider, System.Configuration, Version=2.0.0.0,Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" keyContainerName="Key" useMachineContainer="true"/>     </providers> </configProtectedData> <connectionStrings configProtectionProvider="KeyProvider"> <EncryptedData Type="http://www.w3.org/2001/04/xmlenc#Element"  xmlns="http://www.w3.org/2001/04/xmlenc#">  <EncryptionMethod Algorithm="http://www.w3.org/2001/04/xmlenc#tripledes-cbc" />  <KeyInfo xmlns="http://www.w3.org/2000/09/xmldsig#">   <EncryptedKey xmlns="http://www.w3.org/2001/04/xmlenc#">    <EncryptionMethod Algorithm="http://www.w3.org/2001/04/xmlenc#rsa-1_5" />    <KeyInfo xmlns="http://www.w3.org/2000/09/xmldsig#">     <KeyName>Rsa Key</KeyName>    </KeyInfo>    <CipherData>     <CipherValue>lSLu2RVnlfr5om5MpBuqyhBETF6dI/glZ3zlfOQvzj+l1YmsOcfGVC1LgrDFcPLEbF/r1IZZYVnQuesz3AeVUkpNCG2OfMWDeaPULtJ5Ay24SYnBR4FNtQQSf1pijelXRGE8pzH7s49RLsKWQuwVTyMrOUoIMcmD4xIPmN/cqpQ=</CipherValue>    </CipherData>   </EncryptedKey>  </KeyInfo>  <CipherData>   <CipherValue>deXEhu/mqe+WkD51qXhi9jwBhEurU6EQXBQINOGOyDgpw/W4xTpi3DtTDcEzJXbaHvyKaXLfkPxxljce07ANtN7VXRfDov0Olsq/3+hkYqVXRI5A80XVkOKh2CQaVWx/GJC7JBbbRlKXJvS93M+OQWGKpW0twcZlL1ns97g5w8QstGN6vszAiZw1z6gKXlsrMf9224ExGq+dGJS9BSU+mxaKkd9EAVELMtWv2r7jIXsEneggDR49Mtdu91j1dsDj6am3NcaHmRQ=</CipherValue>  </CipherData> </EncryptedData></connectionStrings></configuration>

導出密鑰容器

spnet_regiis -px "Key" "d:/Key.xml" 

注意:加上-pri參數為導出公鑰+私鑰

導入密鑰容器

aspnet_regiis -pi "Key" "d:/Key.xml" 

刪除密鑰容器

aspnet_regiis -pz "Key"

注意:刪除密鑰程序會報錯


注:相關教程知識閱讀請移步到c#教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 久久精品久久久 | 色呦呦视频在线观看 | www.91av在线| 亚洲精品乱码久久久久v最新版 | 日韩精品视频免费在线观看 | av在线一区二区三区 | 国产成人精品一区二区三区视频 | 欧美一级黄色片网站 | 91社区在线视频 | 妞干网视频 | 国产福利资源 | 精品久久久久久久 | 亚洲人黄色片 | 国产精品99久久久久久宅男 | japan高清日本乱xxxxx | 中文字幕亚洲字幕一区二区 | 日韩精品一区二区三区四区视频 | 啵啵影院午夜男人免费视频 | 精品久久久久久亚洲综合网站 | 久久激| 久久精品一区视频 | 国产精品毛片无码 | 欧美成亚洲 | 国产一级特黄aaa大片 | aaa日本高清在线播放免费观看 | 国产色婷婷 | 亚洲精品久久久久久久久久久久久 | 欧美日韩国产不卡 | 国产日韩91 | 黄色毛片在线看 | 亚洲欧美精品 | 人人鲁人人莫一区二区三区 | 国产噜噜噜噜噜久久久久久久久 | h免费在线观看 | 呦一呦二在线精品视频 | 亚洲网站在线播放 | 一区二区三区四区在线播放 | 国产精品二区一区 | 久久久精品 | 综合久久国产九一剧情麻豆 | 国产一极片 |