Quantcast
Viewing latest article 2
Browse Latest Browse All 5

Login simple

Hola, lo más factible sería que uses una BD con la contraseña cifrada (MD5), te dejo el método utilizadopara encriptar:

public string Encriptar(string texto)
{
//arreglo de bytes donde guardaremos la llave
byte[] keyArray;
//arreglo de bytes donde guardaremos el texto
//que vamos a encriptar
byte[] Arreglo_a_Cifrar =
UTF8Encoding.UTF8.GetBytes(texto);

//se utilizan las clases de encriptación
//provistas por el Framework
//Algoritmo MD5
MD5CryptoServiceProvider hashmd5 =
new MD5CryptoServiceProvider();
//se guarda la llave para que se le realice
//hashing
keyArray = hashmd5.ComputeHash(
UTF8Encoding.UTF8.GetBytes(key));

hashmd5.Clear();

//Algoritmo 3DAS
TripleDESCryptoServiceProvider tdes =
new TripleDESCryptoServiceProvider();

tdes.Key = keyArray;
tdes.Mode = CipherMode.ECB;
tdes.Padding = PaddingMode.PKCS7;

//se empieza con la transformación de la cadena
ICryptoTransform cTransform =
tdes.CreateEncryptor();

//arreglo de bytes donde se guarda la
//cadena cifrada
byte[] ArrayResultado =
cTransform.TransformFinalBlock(Arreglo_a_Cifrar,
0, Arreglo_a_Cifrar.Length);

tdes.Clear();

//se regresa el resultado en forma de una cadena
return Convert.ToBase64String(ArrayResultado,
0, ArrayResultado.Length);
}

y el método para desencriptar:

public string Desencriptar(string textoEncriptado)
{
byte[] keyArray;
//convierte el texto en una secuencia de bytes
byte[] Array_a_Descifrar =
Convert.FromBase64String(textoEncriptado);

//se llama a las clases que tienen los algoritmos
//de encriptación se le aplica hashing
//algoritmo MD5
MD5CryptoServiceProvider hashmd5 =
new MD5CryptoServiceProvider();

keyArray = hashmd5.ComputeHash(
UTF8Encoding.UTF8.GetBytes(key));

hashmd5.Clear();

TripleDESCryptoServiceProvider tdes =
new TripleDESCryptoServiceProvider();

tdes.Key = keyArray;
tdes.Mode = CipherMode.ECB;
tdes.Padding = PaddingMode.PKCS7;

ICryptoTransform cTransform =
tdes.CreateDecryptor();

byte[] resultArray =
cTransform.TransformFinalBlock(Array_a_Descifrar,
0, Array_a_Descifrar.Length);

tdes.Clear();
//se regresa en forma de cadena
return UTF8Encoding.UTF8.GetString(resultArray);
}

Cuando creas los usuarios y sus contraseñas, llamas al método encriptar y así guardar en la base de datos la contraseña encriptada, luego para la validación encriptas lo del texto recibido con el mismo método.

Espero te sirva


Javier


Viewing latest article 2
Browse Latest Browse All 5

Trending Articles