2009-05-20 26 views

Respuesta

4

Si se trata de una connectionString que se configura y se utiliza en una sola computadora (no se comparte entre varios equipos) por una instancia de la aplicación, se puede utilizar el .NET administrados envoltorio de la DPAPI (API de protección de datos): ProtectedData class (System.Security.Cryptography).

Un buen truco también se puede utilizar (si decide utilizar esta clase) es la creación de métodos de extensión para codificar y decodificar una cadena, por lo que las operaciones se vuelven tan simple como:

string encodedString = myConnectionString.EncodeString(); 

string decodedString = encodedString.DecodeString(); 

Espero que esto ayude !

+1

Pero en este enfoque, el archivo de configuración en el servidor tiene las cadenas de conexión en texto claro y va a los clientes en texto claro a través del cable, ¿correcto? ¿Y cuándo haría el cifrado/descifrado en un escenario de clickOnce? –

+0

Ah, ya veo. Verificaría algunas de las otras clases de System.Security.Cryptography que están disponibles para ver si puedes encriptar tu cadena de conexión usando algún tipo de clave precompartida, y descifrarla en tu aplicación cliente usando esa misma clave. http://msdn.microsoft.com/en-us/library/system.security.cryptography.aspx ¡Buena suerte! – Pwninstein

Cuestiones relacionadas