Método MD5


por Mauricio Junior em 1/1/2011 0

    Caro leitor, gostaria de mostrar como gerar um método responsável pela criptografia de dados. Neste primeiro momento será falado apenas de um procedimento e, em outros artigos falarei de outros.

Referência:
Linguagem C#.NET
Ferramenta: Visual Studio .NET 2008
Plataforma: Pode ser usado em qualquer plataforma
   
    Para quem não sabe o que é MD5, em simples palavras é um método de criptografia que serve para misturar os dados de maneira precisa.

Tecnicamente é um algoritmo de hash de 128 bits unidirecional desenvolvido pela RSA Data Security e está embutido dentro do framework .NET.

Importes necessários
    É necessário importar algumas classes dentro do arquivo .cs.


using System;
using System.Collections.Generic;
using System.Security.Cryptography;
using System.Text;
Code 1.1

    No caso de não conseguir importar as classes, favor adicionar como referência em seu projeto, clicando com o botão direito da pasta references. Procure por System.Security.

    Depois de importar as classes, vou criar um método que utiliza o MD5. (Code 1.2)


        private string GetMD5(string strPlain)
        {
            UnicodeEncoding UE = new UnicodeEncoding();
            byte[] HashValue, MessageBytes = UE.GetBytes(strPlain);
            MD5 md5 = new MD5CryptoServiceProvider();
            string strHex = "";

            HashValue = md5.ComputeHash(MessageBytes);
            foreach (byte b in HashValue)
            {
                strHex += String.Format("{0:x2}", b);
            }
            return strHex;
        }
Code 1.2

    A assinatura do método é a seguinte: recebe uma string como parâmetro de entrada e retorna uma string criptografada. Note que os dados são transformados em array de bytes e depois faz um for com o valor da hash. No final, retorna dados de forma simples.

    A melhor maneira é gravar no banco de dados a senha criptografada. Quando o usuário for logar, passa a chave do usuário e busca a senha. Para finalizar, compara a string que veio do banco de dados com a que o usuário digitou na tela.

    Lógico que pode ser usado vários dados para criptografia, não só a senha, mas a senha com o nome do usuário; data de nascimento ou dados pessoais. Com isso, toda vez é necessário criptografar e comparar. Por exemplo:


string senha = GetMD5("|#*" + txtNome.Text.Trim() + txtSenha.Text.Trim());
Code 1.3

    Espero que tenha gostado e qualquer dúvida pode entrar em contato pelo site, obrigado.
   

voltar   comente  subir

 
Mauricio Junior Formado pela Faculdade Anhanguera, Especialista pela FGV (Fundação Getúlio Vargas), Pós-Graduação em Docência Superior e cursando Mestrado na UNB Engenharia Elétrica; .
Tenho 29 anos e possuo sete livros publicados pela editora Ciência Moderna. Sou Certificado Microsoft MCP, MCAD e MVP, faço parte da comunidade ASPNETI.COM, ECODE10.COM, onde publico artigos, vídeos, ebooks e livros Publico artigos, vídeos e podcast em outras comunidades. Trabalho como Analista de Sistemas / Desenvolvedor na empresa ATP S/A. Blog: blog.mauriciojunior.org, Site pessoal www.mauriciojunior.org



Comentários:
Comentado por: WELINTON BATISTA DO PRADO - 20/3/2012 0:00:00
Mauricio, adorei essa dica de como fazer md5, eu estou implementando um sistema de usuario com validacao no banco sqlServer usando md5 e nao estava conseguindo chegar no ponto, e com a video aula e a parte textual me ajudou muito e a entender melhor como funciona, parabéns pelo site e pelo conteudo riquissimo que tem aqui... Obrigado.

Comente (dê sua opinião):
Comentário:
Código Imagem:  (digite o código da imagem respeitando maiúsculo e minúsculo)

Favor digitar o código da imagem para cadastramento.

 

Outros Artigos do Autor

URL Routing com o Visual Studio .NET 2010
Visual Source Safe - Série 1
Escrever log de erro e warning
O vírus do curriculum
Consultando CEP via WebService
Vídeo: Framework de dados - parte 1
Acessando banco de dados com pocket pc
Pegando dados do computador facilmente via software
Sair da tela clicando ESC no Windows Forms
Aprenda com Windows Azure
Criando arquivo usando Visual Studio.NET 2005
Vídeo: Série Atlas.NET - Parte II
Ajax com C#.NET (parte 1)
Vírus - Full video Pamela Anderson
HTMLEditorExtender com Imagem
ASP.MENU com Compatibilidade
OpenWave SDK 6.2.2
Orientação a Objetos com Visual Studio.NET 2005 (o famoso OO) – parte 1
Educação no Brasil
Enviado email anexado
Gerando uma dll com sistema web
UPLOAD – Enviando imagem pela Internet
WebServices usando soapHeader
Virtual Earth – Primeiro Passo
Sistema de Login em ASP – Parte III
Novo Firefox 3.0 - o chamado Minefield
MinimizeBox no Celular
Vídeos SQL Server 2005 Express Gratuitamente
Windows Mobile Phone
DateDiff em C#.NET
Teclas de Atalho do Visual Studio .NET 2010
ASP.NET MVC
Visual Studio 11 - Novas funcionalidades e melhorias
Vídeo mostrando como validar vários formulários
Exemplos de Queries Linq