Hola buenas a toda la comunidad, después de un largo silencio y ausencia. Les traigo un aporte que quizás les ayude en algún momento en sus programas echos en VISUAL .NET al momento de encriptar textos.

MD5, función en un solo sentido. Difícil de desencriptar

Les dejo después de tiempo una «PEQUEÑA» clase para poder encriptar texto como una contraseña y asi poder guardarla en la base de datos de manera segura, con la ayuda de la clase criptografica MD5

Imports System
Imports System.Security.Cryptography
Imports System.Text

Public Class verifyPass
    Function getMd5Hash(ByVal input As String) As String
        ' Creamos una nueva instancia del objeto MD5.
        Dim md5Hasher As MD5 = MD5.Create()

        'Convierta la cadena de entrada en una array de bytes y calcule el hash.
        Dim data As Byte() = md5Hasher.ComputeHash(Encoding.Default.GetBytes(input))

        ' Crea a nuevo Stringbuilder para recolectar los bytes
        ' y crear un string.
        Dim sBuilder As New StringBuilder()

        ' Recorra cada byte de los datos hash y 
        ' formatee cada uno como una cadena hexadecimal.
        Dim i As Integer
        For i = 0 To data.Length - 1
            sBuilder.Append(data(i).ToString("x2"))
        Next i

        ' Retorna un cadena hexadecimal.
        Return sBuilder.ToString()

    End Function
End Class

Fue testeado desde la versión 3 de .net framework hasta la 4.5 asi que puede ser utilizado sin ningún problema.

Ahora para utilizarlo solamente hay que instanciar un objeto nuevo, de esta manera para poder utilizarlo en un botón.

Dim md5 As New verifyPass
txthash.text = md5.getMd5Hash(txtprueba.text)

Yo particularmente lo utilizo al registrar un usuario (su contraseña) y obviamente al validar el login.

Es obvio que puede existir mejores algoritmos de seguridad para poder validad y/o registrar usuarios en un sistema, si los tienen por favor compartir con la comunidad.

Shares