Encriptación MD5 Visual.net

Escrito en Octubre 20, 2008 por Alex

 La forma de encriptar una cadena de texto en MD5 con una encriptación de 128 bits se logra utilizando la clase del sistema de nombres System.Security.Cryptography de visual.Net.

Para que el código sea mas manejable, lo ideal es siempre programar las funciones en modulos separados y no en el mismo formulario, de esta manera siempre se podrán utilizar funciones tan necesarias como esta en cualquier aplicación o formulario solo con importar el modulo que hayamos creado.

  • En el proyecto actual o en uno nuevo, agregar un modulo
  • Elegir el nombre del modulo (recomendable un nombre que indique de que se trata la clase)

Visual.Net nos genera el primer fragmento de código donde tendremos que agregar nuestro código dentro de la clase.

Este sistema de encriptación es el que utiliza Windows para encriptar sus contraseñas.

 
'Importamos los dos espacios de nombres necesarios(uno para la codificación UTF y otro para el MD5)
 
Imports System.Text 
Imports System.Security.Cryptography
 Module MD5 
'Declaramos la función GenerarHash de manera publica 
'para que podamos acceder a ella desde cualquier parte de la aplicación 
Public Function GenerarHash(ByVal Texto As String) As String 
'Creamos un objeto de codificación Unicode que
 'representa una codificación UTF-16 de caracteres Unicode. 
Dim Codificar As New UnicodeEncoding() 
'Declaramos una matriz (array) de tipo Byte para recuperar dentro los bytes del texto
 'utilizando el objeto Codificar
 Dim ByteTexto() As Byte = Codificar.GetBytes(Texto) 
'Instanciamos el objeto MD5 
Dim Md5 As New MD5CryptoServiceProvider() 
'Se calcula el Hash del Texto en bytes 
Dim ByteHash() As Byte = Md5.ComputeHash(ByteTexto)
 'convertimos el texto en bytes en texto legible(cadena) 
Return Convert.ToBase64String(ByteHash)
 'Eliminamos los objetos usados con Nothing
 Codificar = Nothing 
ByteTexto = Nothing
 End Function 
End Module

Ahora solo falta ver la manera de utilizarlo. En este ejemplo lo utilizamos dentro del formulario.

Todo esto dentro de un botón:
'Declaramos una variable de tipo cadena donde se almacenará el resultado
Dim Ret As String = GenerarHash("Hola") 
'La variable Ret contiene la cadena en MD5 
'Podemos insertar un Label para visualizarla de esta manera 
Label1.Text = Ret
Si te gusto este artículo Suscribete a nuestro feed

15 Comentarios en “Encriptación MD5 Visual.net”

  1. VICTOR |

    hey muchicimas gracias por este articulo esta buenicimo me funciono a la perfeccion
    ya habia buscado mucho en inter y no habia tenido bueno frutos solo encontraba ejemplos bien raros o complicados pero este esta buenicimo mucha GRACIAS SALU2 A TODOS

  2. Emiliano |

    Hola!

    Muy bueno el articulo!. Tenes el proceso de desencripcion?

    Gracias!

    Saluds

  3. Alex |

    Emiliano: En MD5 no existe proceso de desencriptación.

  4. Roberto |

    Que buen codigo!

    Muchas GraciAS!!!!

  5. Gabriel |

    exelente!! alfin un codigo simple de MD5, y bien explicado, gracias

  6. Rodrigo |

    Muchas gracias por tu aporte, la comunidad de programadores te lo agradece, ya me tocara dar mis aportes

  7. Encriptar y desencriptar en MD5 problema - VB-MUNDO - Programacion Visual |

    [...] http://www.mejoralex.com/encriptacion-md5-visualnet/comment-page-1 Ya nos contar

  8. hernan |

    Deberían tener una función ya hecha para strings.
    Funcionó de maravilla, muchas gracias

  9. Alex |

    Esta funci´n es para strings

  10. Alvaro Guzman |

    Excelente nota, gracias,

  11. Francisco |

    Gracias. Muy bueno.

  12. Felipe Parra |

    Muchas gracias

  13. Miguel Angel Rojas H. |

    Muy buen aporte mi amigo.. de verdad me salvaste llevaba ya casi 1 semana buscando esto lo probe y me funciono de maravilla..! :D muchisimas gracias sigue asi mi amigo..! :D

  14. lowellpelikno |

    hola muy bueno el aporte pero creo que falta el proceso para desencriptar para que te quede al 100% y asi poder usarlo con bases dedatos..

  15. daniel |

    Hola amigo gracias por el codigo,mira ocupe este codigo para insertarlo en la bd de forma enryptada
    (la contraseña de un usuario).Ahora bien tengo un formulario que requiere cambio de contraseña de un usuario,la cual pide la contraseña antigua y la contraseña nueva para ingresar una nueva contraseña.
    ¿Como lo podria realizar si esta encriptada?

Escribe un comentario