Maison >développement back-end >Tutoriel C#.Net >asp.net web.config méthodes de cryptage et de décryptage
Utilisez l'outil de ligne de commande aspnet_regiis.exe
Vous pouvez également utiliser l'outil de ligne de commande aspnet_regiis.exe pour crypter et déchiffrer la partie de configuration du fichier Web.config Vous pouvez trouver cet outil dans le dossier "%WINDOWSDIR%Microsoft. Répertoire NetFrameworkversion" . Afin de chiffrer une section du fichier Web.config, vous pouvez utiliser la clé machine DPAPI dans cet outil de ligne de commande, comme indiqué ci-dessous :
La forme générale de chiffrement du fichier Web.config d'un site Web spécifique :
aspnet_regiis.exe -pef section physical_directory -prov provider
Ou :
aspnet_regiis.exe -pe section -app virtual_directory -prov provider
Exemple spécifique de cryptage du fichier Web.config d'un site Web spécifique :
aspnet_regiis.exe -pef "connectionStrings" "C:\Inetpub\wwwroot\MySite" -prov "DataProtectionConfigurationProvider"
Ou :
aspnet_regiis.exe -pe "connectionStrings" -app "/MySite" -prov "DataProtectionConfigurationProvider"
Décryptage d'un La forme générale du fichier Web.config d'un site Web spécifique :
aspnet_regiis.exe -pdf section physical_directory
Ou :
aspnet_regiis.exe -pd section -app virtual_directory
L'exemple spécifique de décryptage du fichier Web.config d'un site Web spécifique :
aspnet_regiis.exe -pdf "connectionStrings" "C:\Inetpub\wwwroot\MySite"
Ou :
Vous pouvez également spécifier aspnet_regiis.exe pour effectuer le cryptage/déchiffrement du fichier machine.config.
【Astuce】 Chiffrer les paramètres de configuration dans ASP.NET version 1.x
Pour protéger les paramètres de configuration dans ASP.NET version 1.x, les développeurs doivent chiffrer et stocker les paramètres sensibles dans la table de registre du serveur Web et stockés dans d'une manière clé "forte". Plutôt que de stocker le contenu chiffré (comme dans ASP.NET 2.0), le fichier de configuration contient simplement une référence à la clé de registre qui stocke la valeur chiffrée. Par exemple :
<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 fournit aux développeurs l'outil de ligne de commande aspnet_setreg.exe pour crypter les informations de configuration sensibles et les déplacer vers une entrée de registre « forte ». Malheureusement, cet outil ne fonctionne qu'avec des paramètres de configuration spécifiques ; en revanche, ASP.NET 2.0 permet de chiffrer n'importe quelle section de configuration.
Pour plus d'informations sur l'utilisation de aspnet_setreg.exe dans une application ASP.NET 1.x, veuillez vous référer à la base de connaissances n° 32990 dans MSDN. Malheureusement, ce programme de ligne de commande ne peut chiffrer que les sections prédéfinies dans les paramètres de configuration et ne vous permet pas de chiffrer les chaînes de connexion à la base de données et autres informations sensibles que vous ajoutez vous-même.
Exemple de cryptage :
C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\aspnet_regiis -pdf connectionStrings I:\代码仓库\wt_Projects\WebSites\WebSite
Pour plus d'articles liés aux méthodes de cryptage et de déchiffrement asp.net web.config, veuillez faire attention au site Web chinois PHP !