El framework .Net nos presenta una gran variedad de herramientas para calcular un hash, en este caso usaremos la clase MD5CryptoServiceProvider del namespace using System.Security.Cryptography.
Una duda que muchas veces aparece al intentar usar estos CryptoServiceProviders es cómo mostrar el hash para que sea leíble, ya que la función que utilizamos nos devuelveun Array de bytes.
Pues eso es sencillo, recurrimos a la función ToString() y como argumento pasamos "x2" con lo que por cada ítem del array obtendremos un valor hexadecimal de 2 dígitos.
Entonces la función se vería así:
public string MD5Hash(string texto)
{
var resultado = new StringBuilder();
using (var md5 = new MD5CryptoServiceProvider())
{
var hash = md5.ComputeHash(System.Text.Encoding.UTF8.GetBytes(texto);
foreach (byte b in hash)
{
resultado.Append(b.ToString("x2"));
}
}
return resultado.ToString();
}
No hay comentarios:
Publicar un comentario