Ver Mensaje Individual
  #3 (permalink)  
Antiguo 15/06/2012, 11:57
Avatar de triqui
triqui
 
Fecha de Ingreso: diciembre-2008
Ubicación: Zaragoza(España)
Mensajes: 624
Antigüedad: 15 años, 5 meses
Puntos: 31
Respuesta: Ocultar el valor de un string en el código

Hola, no quiero ocultar el texto de la cadena de conexion.

Pongo el código por si me puedo explicar mejor.


Tengo una función en mi clase que es SeleccionarEmail, que me devuelve un par de valores, el usuario y el email
Código C#:
Ver original
  1. public DataTable SeleccionarEmail()
  2.         {
  3.             DataTable DtAmigos = new DataTable();
  4.             Database objDB = null;
  5.             StringBuilder sb = new StringBuilder();
  6.             try
  7.             {
  8.                 objDB = DatabaseFactory.CreateDatabase(MiConexion);
  9.  
  10.                 sb.Append("Select A.CodUsu,CONVERT(NVARCHAR(150),
  11.            DECRYPTBYPASSPHRASE('MiContraseñadeEncriptacion',A.EmailUsuario))");
  12.                 sb.Append(" from Usuario A ");
  13.                 DbCommand objCmd = objDB.GetSqlStringCommand(sb.ToString());
  14.                 DataSet objDS = objDB.ExecuteDataSet(objCmd);
  15.                 DtAmigos = objDS.Tables[0];
  16.  
  17.             }
  18.             catch (Exception e)
  19.             {
  20.                 string error = e.ToString();
  21.             }
  22.             return DtAmigos;
  23.  
  24.         }

Si os fijais en la sql, realizo esta consulta:

Código SQL:
Ver original
  1. SELECT A.CodUsu,CONVERT(NVARCHAR(150), DECRYPTBYPASSPHRASE('MiContraseñadeEncriptacion',A.EmailUsuario))
  2.  FROM Usuario A

En la base de datos utilizo DECRYPTBYPASSPHRASE y ENCRYPTBYPASSPHRASE, para ocultar los datos en la base de datos, así nadie del hosting donde lo tengo alojado puede hacer una consulta directa a la base de datos y sacar información.

Pero claro si revisa el código, verá facilmente que solo necesita esta palabra:

MiContraseñadeEncriptacion

Para sacarme los datos, ya que está puesta a pelo en el código.

Pues la pregunta es, como puedo ocultar ó cifrar ese string(MiContraseñadeEncriptacion) en el propio código, para dificultar aun mas el poder descifrar los datos de la base de datos.

Espero que ahora si me he explicado mejor.

saludos
__________________
La nueva red social de quinielas quiniela resultados
Cazaresultados Futbol base en directo