DevMedia - asp.net, Java, Delphi, SQL e web Design, tudo em um só lugar!
Bem vindo a DevMedia!
LOGIN:     SENHA:
 
 

Criptografia com MD5 no DotNet - Parte 2

Olá pessoal, hoje mostraremos como implementar a verificação de um valor criptografado com algoritmo MD5 em uma aplicação C# com windowsForms.

[fechar]

Você não gostou da qualidade deste conteúdo?

(opcional) Você gostaria de comentar o que não lhe agradou?

Criptografia com MD5 no DotNet - Parte 2  

 

Olá pessoal, hoje mostraremos como implementar a verificação de um valor criptografado com algoritmo MD5 em uma aplicação C# com windowsForms.

 

Olá pessoal, vimos no último artigo, que a framework .Net possui classes que facilitam nossa vida quando o assunto é criptografia. Vimos como implementar como criptografar  um valor usando o algoritmo MD5. Como todos já devem saber, não existe algoritmo para descriptografar o MD5, ou seja, não tem como revertermos uma criptografia realizada.

 

Se não é possível descriptografar um hash MD5, como podemos então verificar se uma senha é válida por exemplo. Simples. Nós temos que criptografar o valor a ser verificado e comparar com o MD5 armazenado.

 

Para este nosso exemplo, vamos usar a aplicação do último artigo. Apenas adicione mais um TextBox e renomeie o mesmo para TxtVerificaValor. Adicione também um novo botão. A idéia neste exemplo é digitar um valor em TxtValor, clicar no botão para criptografar, assim o valor de TxtValorCriptografado será preenchido. Depois vamos digitar um valor qualquer em txtVerificaValor e clicaremos no botão verificar, que irá comparar o hash gerado com o hash do valor a ser verificado.

 

Crie o método abaixo que será responsável por verificar o valor passado se coincide com o Hash me questão.

 

// Verifica se o valor é compativel com o hash passado

public bool verifyMd5Hash(string valor, string valorCriptografado)

{

    // Criptografamos o valor passado como parâmetro

    // utilizando o mesmo método citado no artigo anterior

    string NovoValorCriptografado = GerarMD5(valor);

 

    // Criamos uma StringComparer para compararmos os dois hashs gerados

    StringComparer comparer = StringComparer.OrdinalIgnoreCase;

 

    //Se os valores forem iguais, retorna true, ou seja, o valor

    // passado corresponde ao Hash

    if (comparer.Compare(NovoValorCriptografado, valorCriptografado) == 0) {

        return true;

    }

    else

    {

        return false;

    }

}

 

Este método receberá dois valores, um valor natural e um criptografado, e então retornará se os mesmos coincidem ou não.

 

No evento OnClick do botão verificar, adicione o seguinte código:

 

if (verifyMd5Hash(TxtVerificaValor.Text, txtValorCriptografado.Text))

{

    MessageBox.Show("Valor compatível");

}

else {

    MessageBox.Show("Valor incompatível");

}

 

 

Vamos ficando por aqui, espero que tenham gostado e que as informações passadas sejam úteis no seu dia-a-dia.

 

Um grande abraço.

Ricardo Coelho.


Ricardo Da Silva Coelho
Graduado em Analise de Sistemas, Pós-graduando em Engenharia de software, mais de 7 anos de experiência em desenvolvimento de software, onde atuou em projetos de diversos seguimentos como varejo, telecomunicações, ERPs etc e nas mais variadas plataformas(Desktop, Web e Mobile). Articulista do portal...
O que você achou deste post?

    2 COMENTÁRIOS

[Fechar]

Este post é fechado - você precisa ter acesso ao post para incluir um comentário.



Heitor Oliveira Gonçalves
tem como ler este arquivo criptografado numa string de conexão ? ou como ele não decsriptografa ele não le .
[há +1 ano] - Responder

 

[autor] Ricardo Da Silva Coelho
Tem como sim, o texto criptografado é um texto, você pode serializar ele onde quiser, no BD, num xml de configuração, num txt etc... Quando for ler, ele vai ler o valor criptografado, do jeito como foi serializado anteriormente.
[há +1 ano] - Responder
 
Cursos relacionados
Publicidade
[Fechar]

Você precisa estar logado para dar um feedback.

Clique aqui para efetuar o login
[Fechar]


Este post está fechado. Saiba mais sobre a assinatura MVP!
web-03
DevMedia  |  Anuncie  |  Fale conosco
Hospedagem web por Porta 80 Web Hosting
2013 - Todos os Direitos Reservados a web-03