Obrigado por visitar a devmedia.com.br!

Precisamos de você para divulgar nossos vídeos e cursos gratuitos para a comunidade.

Se você gosta da devmedia.com.br por favor dê-nos o seu clique para o Google+ e ajude outros desenvolvedores ao redor do mundo.



Obrigado por seu apoio!
Equipe DevMedia

sair sem compartilhar (x)
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.

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.





    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 .


em 27/12/2011 22:57 - Responder

 

[Comentário do 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.


em 28/12/2011 00:49 - Responder
 



Autor
Ricardo Da Silva Coelho

Graduado em T.I, colaborador da Sinapse Informática e sócio diretor da RWSolution. Atualmente está envolvido em projetos em Delphi e .Net nas áreas de Telecom e Varejo. É um entusiasta das metodologias ágeis e buscar aplicar e difundir o uso das mesmas o máximo possível. Além disso, escreve artigos...


Space do autor
Estatísticas
Favorito:
Comentários:
Feedback:
Utilidade:
0   0
[Fechar]

Você precisa estar logado para dar um feedback.

Clique aqui para efetuar o login
[Fechar]
Este post está disponível somente para quem possui Créditos DevMedia. (Ele não está associado a nenhuma publicação DevMedia).


  Conheça os planos de créditos DevMedia e visualize esse post agora mesmo!

Plano conveniência – Neste plano este post custa R$ 0,00 (Compre agora)
Esse plano permite que você compre somente um post, pagando por ele seu preço sem desconto.

Plano ocasional: Aqui este post custa: R$ -1,00 (assinante) ou R$ -1,00 (não-assinante)
Este plano é ideal para quem tem interesse em mais de um post. Você compra um mínimo de R$ 50,00 em créditos e ganha, em média, 50% de desconto no preço do post. Compre Créditos agora!

Assinatura de Créditos (Plano econômico) – Aqui este post custa R$ -1,00
Este plano é ideal para quem tem interesse em muitos posts. Com esse plano você compra R$ 180,00 em créditos e ganha, em média, 80% de desconto no preço do post. Assine este plano agora!

> Saiba mais sobre o Sistema de Créditos DevMedia
web-03
DevMedia  |  Anuncie  |  Fale conosco
Hospedagem web por Porta 80 Web Hosting
2012 - Todos os Direitos Reservados a web-03