2011-06-09 24 views
12

Tengo las entradas a continuación en mi Web.config y estoy usando .NET 2.0 y C# para la codificación.Cómo cifrar el nombre de usuario y la contraseña en Web.config en C# 2.0

<add key="userName" value="s752549"/> 
<add key="userPassword" value="[email protected]"/> 

Ahora quiero que esto se cifra de modo que nadie pueda verlo, y también estas contraseñas puede cambiar con frecuencia (cada quince días).

+1

posible duplicado de [Cifrado de Web.Config] (http://stackoverflow.com/questions/1075245/encrypting-web-config) –

+0

también un duplicado de http://stackoverflow.com/questions/54200/encrypting-appsettings-in-web-config –

+0

Posible duplicado de [Encriptación de configuración de la aplicación en web.config] (https://stackoverflow.com/questions/54200/encrypting-appsettings-in-web -config) –

Respuesta

9

se puede poner el nombre de usuario y una contraseña en una sección separada y cifrar esta sección solamente. Por ejemplo:

<?xml version="1.0" encoding="utf-8" ?> 
<configuration> 
    <configSections> 
     <section name="secureAppSettings" type="System.Configuration.NameValueSectionHandler, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" /> 
    </configSections> 

    <appSettings> 
     <add key="Host" value="www.foo.com" /> 
     <add key="Token" value="qwerqwre" /> 
     <add key="AccountId" value="123" /> 
     <add key="DepartmentId" value="456" /> 
     <add key="SessionEmail" value="[email protected]" /> 
     <add key="DefaultFolder" value="789" /> 
    </appSettings> 

    <secureAppSettings> 
     <add key="userName" value="s752549"/> 
     <add key="userPassword" value="[email protected]"/> 

    </secureAppSettings> 
</configuration> 

y luego usar aspnet_regiis

For Ex: 
aspnet_regiis -pef secureAppSettings . -prov DataProtectionConfigurationProvider 
+0

Cómo dar la ruta de webconfig en aspnet_regiis –

+0

Y también me puede dejar saber cómo obtener los valores cifrados en nuestro código .net. –

+0

cheque esto para más detalle: http://diablopup.blogspot.com/2007/04/aspnetregiis-encryptdecrypt-webconfig.html obtener vlaues como este String username = ConfigurationSettings.AppSettings [ "nombre de usuario"]; – Saurabh

10

sólo quería añadir a esto, la respuesta marcada fue de 99% de avance, pero no proporcionó cómo especificar la ubicación del web.config. En lugar de buscar en Internet, pensé que simplemente publicaría el comando completo. Por lo tanto, aquí es el comando ejecuté

C:\Windows\Microsoft.NET\Framework64\v4.0.30319>aspnet_regiis -pef "secureAppSettings" "C:\MyLocalPublishDirectory\MyApp" -prov DataProtectionConfigurationProvider 
Cuestiones relacionadas