Foros del Web » Programación para mayores de 30 ;) » .NET »

Encriptacion C# y SQL iguales

Estas en el tema de Encriptacion C# y SQL iguales en el foro de .NET en Foros del Web. Buen día, Tengo una aplicación en C# con pantalla de usuarios donde encripto el campo pasword con MD5CryptoServiceProvider y en sql veo el dato en ...
  #1 (permalink)  
Antiguo 22/04/2016, 18:23
 
Fecha de Ingreso: junio-2012
Mensajes: 233
Antigüedad: 11 años, 10 meses
Puntos: 3
Pregunta Encriptacion C# y SQL iguales

Buen día,

Tengo una aplicación en C# con pantalla de usuarios donde encripto el campo pasword con MD5CryptoServiceProvider y en sql veo el dato en md5 , lo que no se es utilizar sql para que pueda desencriptar esa información con la clave que estoy usando en c# . Los ejemplos que e encontrado de sql para hacerlo son de sql 2005 y cuando los aplico no me da el resultado. Agradezco sus respuestas.

Es decir quiero que el método de encriptacion junto con la clave pueda utilizarla en sql ya que quiero encriptar otros campos pero desde sql ya que en este momento son tablas con mas de 200 registros le quiero hacer un update a las columnas de nombres y saldos pero quiero que me quede ya encriptado como lo estoy aplicando en c#.

A continuacion les muestro como encrypto en C#:


Código C#:
Ver original
  1. public static string EncriptarPassword(string password)
  2.         {
  3.             byte[] llaveArray;
  4.             byte[] passwordArray = UTF8Encoding.UTF8.GetBytes(password);
  5.  
  6.             MD5CryptoServiceProvider algotimoMD5 = new MD5CryptoServiceProvider();
  7.             llaveArray = algotimoMD5.ComputeHash(
  8.             UTF8Encoding.UTF8.GetBytes(LlavePassword()));
  9.             algotimoMD5.Clear();
  10.  
  11.             TripleDESCryptoServiceProvider tripleDES = new TripleDESCryptoServiceProvider();
  12.  
  13.             tripleDES.Key = llaveArray;
  14.             tripleDES.Mode = CipherMode.ECB;
  15.             tripleDES.Padding = PaddingMode.PKCS7;
  16.  
  17.             ICryptoTransform passTransform = tripleDES.CreateEncryptor();
  18.  
  19.             byte[] arrayEncriptado = passTransform.TransformFinalBlock(passwordArray, 0, passwordArray.Length);
  20.  
  21.             tripleDES.Clear();
  22.  
  23.             return Convert.ToBase64String(arrayEncriptado, 0, arrayEncriptado.Length);
  24.         }

Última edición por antvo; 22/04/2016 a las 18:24 Razón: Afinación de detalles
  #2 (permalink)  
Antiguo 22/04/2016, 18:43
 
Fecha de Ingreso: junio-2012
Mensajes: 233
Antigüedad: 11 años, 10 meses
Puntos: 3
Exclamación Respuesta: Encriptacion C# y SQL iguales

Estoy pensando que para solucionar este problema es encriptar la columna en sql y luego por vs2010 C# cuando consulte en un grid esa columna antes de presentársela al usuario pasarla a una datatable y cuando llegue a esa columna hacer una función en c# que llame a una función de sql para que desencripte ese dato encriptado por SQL, ¿es correcto que lo resuelva así? hay una mejor manera?


Gracias.

Etiquetas: c#, md5, sqlserver2008
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 06:49.