Passo a Passo de uma Criptografia MD5

No post de hoje, mostrarei a vocês quais os passos para criptografar uma String. Além de aprender[bb] como criptografar um texto com a Criptografia MD5, vocês poderão observar o que acontece com o texto digitado a cada processo que ele passa.

Iniciando o desenvolvimento

A primeira coisa que devemos fazer, é importar as Namespace que tratam texto e que contém as classes de criptografia[bb].

Imports System.Text
Imports System.Security.Cryptography

Interface para o teste

Como você podem ver na imagem abaixo, acima de cada TextBox há uma Label explicando o que será exibido nele.

Formulário utilizado para exibir os passos da criptografia

Formulário utilizado para exibir os passos da criptografia

Código com passo a passo para a criptografia MD5

Abaixo temos o código necessário para criptografar o texto. No próprio código já estou explicando o que cada linha faz.

    Private Sub btnConverter_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnConverter.Click
        ' Limpa TextBox que exibirão o Resultado
        TextBox2.Clear()
        TextBox4.Clear()
        TextBox5.Clear()

        ' Variável utilizada para gerar o primeiro Hash
        Dim Ue As New UnicodeEncoding ' Também pode ser usado o UTF8Encoding
        ' Vetor que receberá a Hash gerada pela codificação acima
        Dim ByteSourceTexto() As Byte
        ' Variável que gerará a Hash MD5
        Dim md5 As New MD5CryptoServiceProvider
        ' Vetor que receberá a Hash MD5 gerada pela variável acima
        Dim Bytehash() As Byte

        ' Gera Hash de Bytes a partir do texto digitado.
        ' ** É gerado um Vetor **!
        ByteSourceTexto = Ue.GetBytes(TextBox1.Text)

        ' For each: pega gada item do vetor gerado acima
        ' 1º Codificação. Bytes do Texto Digitado
        For Each b In ByteSourceTexto
            TextBox2.Text &= b
        Next

        ' Gera Hash de Bytes com a codificação MD5
        ' ** É gerado um Vetor! **
        Bytehash = md5.ComputeHash(ByteSourceTexto)

        ' For each: pega gada item do vetor gerado acima
        ' 2º Criptografa String acima em uma hash de byte MD5.
        For Each b In Bytehash
            TextBox4.Text &= b
        Next

        ' Último Passo:
        ' 3º Converte os Bytes para uma base String de 64 Digitos.
        ' Este último texto seria, por exemplo, gravado no banco de dados.
        TextBox5.Text = Convert.ToBase64String(Bytehash)
    End Sub

E como resultado[bb] temos o seguinte:

Resultado do passo a passo da criptografia

Resultado do passo a passo da criptografia

E por hoje é. Até uma próxima.