Desenvolvimento - C#
Método MD5
Caro leitor, gostaria de mostrar como gerar um método responsável pela criptografia de dados.
por Mauricio Junior 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.
Requisito para o artigo:
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.
Fonte: www.aspneti.com
Requisito para o artigo:
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.
Fonte: www.aspneti.com