Heim  >  Artikel  >  Backend-Entwicklung  >  asp.net web.config-Verschlüsselungs- und Entschlüsselungsmethoden

asp.net web.config-Verschlüsselungs- und Entschlüsselungsmethoden

高洛峰
高洛峰Original
2017-01-13 13:32:061606Durchsuche

Verwenden Sie das Befehlszeilentool aspnet_regiis.exe
Sie können auch das Befehlszeilentool aspnet_regiis.exe verwenden, um den Konfigurationsteil der Web.config-Datei zu verschlüsseln und zu entschlüsseln. Sie finden dieses Tool im Verzeichnis „%WINDOWSDIR%“. Verzeichnis „Microsoft.NetFrameworkversion“. Um einen Abschnitt in der Web.config-Datei zu verschlüsseln, können Sie den DPAPI-Maschinenschlüssel in diesem Befehlszeilentool verwenden, wie unten gezeigt:
Eine gängige Form der Verschlüsselung der Web.config-Datei einer bestimmten Website:

aspnet_regiis.exe -pef section physical_directory -prov provider

Oder:

aspnet_regiis.exe -pe section -app virtual_directory -prov provider

Spezifisches Beispiel für die Verschlüsselung der Web.config-Datei einer bestimmten Website:

aspnet_regiis.exe -pef "connectionStrings" "C:\Inetpub\wwwroot\MySite" -prov "DataProtectionConfigurationProvider"

Oder:

aspnet_regiis.exe -pe "connectionStrings" -app "/MySite" -prov "DataProtectionConfigurationProvider"

Entschlüsseln einer Die allgemeine Form der Web.config-Datei einer bestimmten Website:

aspnet_regiis.exe -pdf section physical_directory

Oder:

aspnet_regiis.exe -pd section -app virtual_directory

Das konkrete Beispiel für die Entschlüsselung der Web.config-Datei einer bestimmten Website:

aspnet_regiis.exe -pdf "connectionStrings" "C:\Inetpub\wwwroot\MySite"

Oder:
Sie können auch aspnet_regiis.exe angeben, um die Verschlüsselung/Entschlüsselung der Datei „machine.config“ durchzuführen.
【Tipp】 Konfigurationseinstellungen in ASP.NET Version 1.x verschlüsseln
Um Konfigurationseinstellungen in ASP.NET Version 1.x zu schützen, müssen Entwickler vertrauliche Einstellungen verschlüsseln und in der Registrierungstabelle des Webservers speichern und dort speichern eine „starke“ Schlüsselart. Anstatt verschlüsselte Inhalte zu speichern (wie in ASP.NET 2.0), enthält die Konfigurationsdatei lediglich einen Verweis auf den Registrierungsschlüssel, der den verschlüsselten Wert speichert. Beispiel:

<identity impersonate="true" 
userName="registry:HKLM\SOFTWARE\MY_SECURE_APP\identity\ASPNET_SETREG,userName" 
password="registry:HKLM\SOFTWARE\MY_SECURE_APP\identity\ASPNET_SETREG,password" />

Microsoft stellt Entwicklern das Befehlszeilentool aspnet_setreg.exe zur Verfügung, um vertrauliche Konfigurationsinformationen zu verschlüsseln und in einen „starken“ Registrierungseintrag zu verschieben. Leider funktioniert dieses Tool nur bei bestimmten Konfigurationseinstellungen; im Gegensatz dazu ermöglicht ASP.NET 2.0 die Verschlüsselung jedes Konfigurationsabschnitts.
Weitere Informationen zur Verwendung von aspnet_setreg.exe in einer ASP.NET 1.x-Anwendung finden Sie unter KB#32990 in MSDN. Leider kann dieses Befehlszeilenprogramm nur vordefinierte Abschnitte in Konfigurationseinstellungen verschlüsseln und erlaubt Ihnen nicht, Datenbankverbindungszeichenfolgen und andere vertrauliche Informationen zu verschlüsseln, die Sie selbst hinzufügen.

Verschlüsselungsbeispiel:

C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\aspnet_regiis -pdf connectionStrings I:\代码仓库\wt_Projects\WebSites\WebSite

Weitere Artikel zu den Verschlüsselungs- und Entschlüsselungsmethoden von asp.net web.config finden Sie auf der chinesischen PHP-Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn