Encriptación en C#

24/11/2004 - 23:04 por Zenkius | Informe spam
Hola amigos!

Estoy haciendo una aplicación donde debo almecenar
usuarios y contraseñas en un servidor SQL y quiero
encriptar las contraseñas. He oido que el C# tiene
funciones que permiten encriptación MD5 pero no sé cómo
se puede lograr esto.

Por favor ayudenme!

Saludos y muchos Zenkius de antemano.

Preguntas similare

Leer las respuestas

#1 Hector Bejarano
25/11/2004 - 01:46 | Informe spam
Para guardar los passwords en el SQL, te conviene utilizar algoritmos de
hashing, cuando generas un hashing, no puedes obtener el string original,
pero puedes hacer una comparacion del resultado de hacer la encripcion
contra lo que tienes guardado en la BD. Una gran ventaja es que un pequeno
cambio en el password, generara un hash completamente diferente al anterior.

Aqui tienes codigo que te puede servir:

http://www.csharpfriends.com/Articl...rticleID44
http://www.obviex.com/samples/Code....;Lang=C%23
http://www.devarticles.com/c/a/ASP....rp-Part-1/

Por otra parte, ya que te estas preocupando de la seguridad (lo cual es
excelente), vale la pena que te leas esto:

http://www.theregister.co.uk/2002/0...passwords/

Es decir, procura utilizar en tus aplicaciones seguridad Windows y trata de
dejar de lado el modo mixto si lo estas utilizando.

Saludos,
Hector Bejarano. MCP / MCDBA / MCAD

"Zenkius" wrote in message
news:874f01c4d271$82df0d90$
Hola amigos!

Estoy haciendo una aplicación donde debo almecenar
usuarios y contraseñas en un servidor SQL y quiero
encriptar las contraseñas. He oido que el C# tiene
funciones que permiten encriptación MD5 pero no sé cómo
se puede lograr esto.

Por favor ayudenme!

Saludos y muchos Zenkius de antemano.
Respuesta Responder a este mensaje
#2 Braulio Diez
25/11/2004 - 17:35 | Informe spam
Hola !

.net tiene una implementacion muy sencilla de usar para ese algortimo
hash, a la hora de guardarlo en la base de datos lo puedes guardar como un
puñado de bytes, o si quieres lo puedes codificar como un string (en
hexadecimal de tamaño fijo), aquí te va un ejemplo que hace la hash de una
cadena, y una función que convierte el puñado de bytes a un string:

using System.Text;
using System.Security.Cryptography;


string challengeResponse = ("prueba");


byte[] challengeInBytes =
Encoding.UTF8.GetBytes((challengeResponse));

MD5 md5 = new MD5CryptoServiceProvider();

byte[] HashResult = md5.ComputeHash(challengeInBytes);

int hashLength = HashResult.Length;

// We need to convert the MD5 byte array to an
// hexadecimal (32 chars fixed) string expression
string strMD5Result = ByteArrayToString(HashResult);


// **** y la funcion para convertir a string formato fijo:

static string ByteArrayToString(byte[] arrInput)
{
int i;
StringBuilder sOutput = new StringBuilder(arrInput.Length);
for (i=0;i < arrInput.Length ; i++)
{
sOutput.Append(arrInput[i].ToString("x2"));
}

return sOutput.ToString();
}

Buena suerte
Braulio



"Zenkius" wrote:

Hola amigos!

Estoy haciendo una aplicación donde debo almecenar
usuarios y contraseñas en un servidor SQL y quiero
encriptar las contraseñas. He oido que el C# tiene
funciones que permiten encriptación MD5 pero no sé cómo
se puede lograr esto.

Por favor ayudenme!

Saludos y muchos Zenkius de antemano.




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