¿Dónde almacenar cadena conexión?

05/02/2007 - 11:30 por Alberto | Informe spam
¿Cuál considerais que es el lugar óptimo para almacenar la cadena de
conexión?
Pretendo que mis aplicaciones, en un apartado de configuración, puedan
acceder a ella y modificarla.

Gracias

Preguntas similare

Leer las respuestas

#11 Octavio Hernandez
06/02/2007 - 00:31 | Informe spam
.NET 2.0 permite encriptar los ficheros de configuración.
Generalmente los ejemplos tienen que ver con aplicaciones ASP.NET,
pero parece que para WinForms también vale:

http://www.codeproject.com/csharp/P...inApps.asp

Slds - Octavio



"ANT1" escribió en el mensaje
news:
Yo utilizo el app.config o algun archivo xml creado por mi.

Pero los archivos de configuracion como el app.config, al ser archivox
XML pueden ser leidos por cualquiera con cualquier editor de texto
como el bloq de notas.

En este archivo se guardaría el usser y password de la base de datos.
Valores a los que seria mejor no tener acceso.

¿No seria mejor alguna otra forma que tambien te permitiese editar
dichos valores desde el programa pero a los que no se tendria que
tener acceso desde fuera de el?
Respuesta Responder a este mensaje
#12 Pietro
06/02/2007 - 02:27 | Informe spam
Ojo que encriptar es solo dificultar la lectura, porque imposible no es,
muchos dicen que md5 es un algoritmo de encriptacion confiable, pero hoy en
dia hay paginas donde tienen gigantes bases de datos en las cuales mediante
una simple consulta puedes saber el valor real del hash md5 sin necesidad de
encriptar.
Por eso yo recomendaria que estos datos fueran encriptados mediante un
algoritmo hecho por uds.
En el codigo de abajo la idea es nunca revelar el array de bytes "Key" y el
"IV"
Recuerden invocar el namespaces System.Security.Cryptography;

Pruebenlo ;)
public static void Main()
{
Console.Write("Enter phrase to encrypt: ");
string phrase = Console.ReadLine();
MemoryStream memstrm = new MemoryStream();
byte[] Key = {0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09,
0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16}; //Nunca lo reveles
byte[] IV = { 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09,
0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16 };//Nunca lo reveles
TripleDESCryptoServiceProvider tdes = new
TripleDESCryptoServiceProvider();
CryptoStream csw = new CryptoStream(memstrm,
tdes.CreateEncryptor(Key, IV), CryptoStreamMode.Write);
csw.Write(Encoding.ASCII.GetBytes(phrase), 0, phrase.Length);
csw.FlushFinalBlock();
byte[] cryptdata = memstrm.GetBuffer();
Console.WriteLine("Encriptada: {0}",
Encoding.ASCII.GetString(cryptdata, 0, (int)memstrm.Length));
memstrm.Position = 0;
byte[] data = new byte[1024];
CryptoStream csr = new CryptoStream(memstrm,
tdes.CreateDecryptor(Key, IV), CryptoStreamMode.Read);
int recv = csr.Read(data, 0, data.Length);
string newphrase = Encoding.ASCII.GetString(data, 0, recv);
Console.WriteLine("Desencriptada: {0}", newphrase);
csr.Close();
csw.Close();
memstrm.Close();
Console.ReadLine();
}
Respuesta Responder a este mensaje
#13 ANT1
06/02/2007 - 10:20 | Informe spam
Desde luego Pietro que usar una encriptacion comun es solo dificultar
un poco mas el acceso a esos datos, ya que cualquiera que se ponga un
poco a ello podria desencriptarlo. Eso si al menos no lo leeran los
niños con un bloq de notas, jejeje.

Lo de hacer tu propio codigo de encriptacion me parece una buena idea.
Mirare ese codigo que has puesto a ver como va.

Saludos
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una pregunta AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida