Heim >Backend-Entwicklung >C#.Net-Tutorial >asp.net web.config-Verschlüsselungs- und Entschlüsselungsmethoden
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!