Encriptar cadena de conexión en app.config

Tengo problemas para cifrar una cadena de conexión en app.config. Tengo un código que protegerá la sección connectionStrings de app.config, pero la contraseña aún se muestra en texto plano.

Necesito encriptar la cadena de conexión para que no esté en texto plano cuando se despliega. Veo preguntas similares en SO para web.config, pero no en app.config.

Eche un vistazo a este artículo que tiene algunos ejemplos muy útiles. Básicamente buscas System.Configuration.SectionInformation.ProtectSection para ayudarte aquí.

También echa un vistazo a la implementación de la configuración protegida

Puede aplicar fácilmente la misma solución que la web.config solo tiene que cambiar el nombre de su app.config a web.config, encriptar con la herramienta aspnet_regiis y luego cambiarle el nombre a app.config.

  1. Cambiar el nombre de app.config a web.config
  2. Abra el símbolo del sistema y escriba:
    %windir%\Microsoft.NET\Framework\v2.0.50727\aspnet_regiis -pef "connectionStrings" c:\ (detente en el nivel de la carpeta y no coloques el final “\”)
  3. cambiar el nombre de web.config a app.config

Puede abrirlo en el bloc de notas para ver el archivo encriptado. En el estudio visual, verá que está descifrado. Puede usar su cadena de conexión de la misma manera que si no estuviera encriptada.

Definir la ubicación de config Archivo

 Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None); 

si quieres encriptar connectionStrings

 config.ConnectionStrings.SectionInformation.ProtectSection(Nothing); 

debe tener en cuenta las porciones de configuración de la aplicación

así que si quieres encriptar AppSettings

 config.AppSettings.SectionInformation.ProtectSection(Nothing); 

enter image description here