一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - C# - 詳解C#App.config和Web.config加密

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

2022-02-23 13:43彬菌 C#

本篇文章給大家分享了C#App.config和Web.config加密的相關知識點以及具體代碼步驟,有興趣的朋友參考學習下。

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

?
1
cd C:\Windows\Microsoft.NET\Framework64\v4.0.30319

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

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

例如:

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

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

加密命令為

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

如加密失敗

解決方案:

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

?
1
aspnet_regiis -pc "Key" -exp

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

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

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

?
1
2
3
4
5
6
7
8
9
<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>

開始對配置文件進行加密

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

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

解密配置文件

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

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

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

?
1
2
3
4
5
6
7
8
9
<?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文件內容:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?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文件內容:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
<?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>

導出密鑰容器

?
1
spnet_regiis -px "Key" "d:\Key.xml"

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

導入密鑰容器

?
1
aspnet_regiis -pi "Key" "d:\Key.xml"

刪除密鑰容器

?
1
aspnet_regiis -pz "Key"

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

原文鏈接:https://www.idaobin.com/archives/1201.html

延伸 · 閱讀

精彩推薦
  • C#C#通過KD樹進行距離最近點的查找

    C#通過KD樹進行距離最近點的查找

    這篇文章主要為大家詳細介紹了C#通過KD樹進行距離最近點的查找,具有一定的參考價值,感興趣的小伙伴們可以參考一下...

    帆帆帆6112022-01-22
  • C#Unity3D實現虛擬按鈕控制人物移動效果

    Unity3D實現虛擬按鈕控制人物移動效果

    這篇文章主要為大家詳細介紹了Unity3D實現虛擬按鈕控制人物移動效果,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一...

    shenqingyu060520232410972022-03-11
  • C#C#裁剪,縮放,清晰度,水印處理操作示例

    C#裁剪,縮放,清晰度,水印處理操作示例

    這篇文章主要為大家詳細介紹了C#裁剪,縮放,清晰度,水印處理操作示例,具有一定的參考價值,感興趣的小伙伴們可以參考一下...

    吳 劍8332021-12-08
  • C#C# 實現對PPT文檔加密、解密及重置密碼的操作方法

    C# 實現對PPT文檔加密、解密及重置密碼的操作方法

    這篇文章主要介紹了C# 實現對PPT文檔加密、解密及重置密碼的操作方法,非常不錯,具有參考借鑒價值,需要的朋友可以參考下...

    E-iceblue5012022-02-12
  • C#C#實現XML文件讀取

    C#實現XML文件讀取

    這篇文章主要為大家詳細介紹了C#實現XML文件讀取的相關代碼,具有一定的參考價值,感興趣的小伙伴們可以參考一下...

    Just_for_Myself6702022-02-22
  • C#C#設計模式之Visitor訪問者模式解決長隆歡樂世界問題實例

    C#設計模式之Visitor訪問者模式解決長隆歡樂世界問題實例

    這篇文章主要介紹了C#設計模式之Visitor訪問者模式解決長隆歡樂世界問題,簡單描述了訪問者模式的定義并結合具體實例形式分析了C#使用訪問者模式解決長...

    GhostRider9502022-01-21
  • C#WPF 自定義雷達圖開發實例教程

    WPF 自定義雷達圖開發實例教程

    這篇文章主要介紹了WPF 自定義雷達圖開發實例教程,本文介紹的非常詳細,具有參考借鑒價值,需要的朋友可以參考下...

    WinterFish13112021-12-06
  • C#深入解析C#中的交錯數組與隱式類型的數組

    深入解析C#中的交錯數組與隱式類型的數組

    這篇文章主要介紹了深入解析C#中的交錯數組與隱式類型的數組,隱式類型的數組通常與匿名類型以及對象初始值設定項和集合初始值設定項一起使用,需要的...

    C#教程網6172021-11-09
主站蜘蛛池模板: 日本中文字幕不卡在线一区二区 | 超级乱淫伦短篇在车上 | 精品久久免费观看 | 日韩r| 国产精品视频一区二区三区w | 单身男女韩剧在线看 | 激情影院费观看 | 性xxxx18学生第一次出血 | 天堂在线看 | 日本又黄又裸一级大黄裸片 | 亚洲第一男人网站 | 四虎成人永久地址 | 国产成人在线免费观看 | 无限好资源免费观看 | 把美女屁股眼扒开图片 | 亚洲精品视频久久 | 教师系列 大桥未久在线 | 91成人免费视频 | 国产日韩精品一区二区在线观看播放 | 精品国产理论在线观看不卡 | 午夜dj影院在线观看完整版 | 男男同gayxxx | 国产欧美日韩不卡 | 99re在线视频观看 | 国产亚洲女在线精品 | 牧教师在线观看 | 亚洲欧美久久一区二区 | 亚洲国产精品免费在线观看 | 精品国产自在天天线2019 | 四虎4hu永久免费国产精品 | 秋霞午夜伦午夜高清福利片 | 国产精品1区2区 | 8插8插 | 秀逼逼 | bt7086新片速递亚洲最新合集 | 亚洲精品久久久WWW游戏好玩 | 四虎国产视频 | 青青草成人在线观看 | 色老妇| 韩国日本香港毛片免费 | 四虎网站网址 |