terça-feira, 18 de setembro de 2012

Passo a Passo de uma Criptografia

Olá galera, nesse artigo mostrarei a vocês quais os passos para criptografar uma String.
Além de aprender como criptografar um texto com a Criptografia MD5, você poderá observar o que acontece com o texto digitado a cada processo que ele passa.
Para esse Artigo utilizarei a linguagem Visual Basic .NET.
O primeiro passo é importar as classes texto e de criptografia.

Imports System.Text 
Imports System.Security.Cryptography

A primeira para serve para criar a primeira hash, enquanto a segunda gera o a hash MD5.
Para uma melhor exemplificação, farei um formulário com 4 TextBox. Um para digitarmos o texto, e os outros 3 para mostrar o processo de criptografia.

Veja como ficará.


Como você podem ver, acima de cada TextBox (com exceção do primeiro), há uma Label explicando o que será exibido nele.
No código abaixo onde eu mostro o código para a explicação, colocarei comentário para explicar os passo, como nas Labels. (Comentários em Verde.)

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()
        TextBox3.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.
        TextBox5.Text = Convert.ToBase64String(Bytehash)
    End Sub

O resultado final vocês vêm abaixo, com a Hash do “Falando TI”.


É isso. Até uma próxima!

Nenhum comentário:

Postar um comentário