MD5 - Não bate com o calculado no Delphi

02/01/2014

Olá,

Tenho uma tabela de usuários mantidas por uma aplicação feita em Delphi. Em um dos campos, fica a senha criptografada pelo componente lbMD5.
Estou fazendo uma app web em c# e preciso criptografar a senha e comparar com a senha que está no banco. Não estou conseguindo.

Estou usando o seguinte:

MD5 md5hash = MD5.Create();
byte[] inputBytes = md5hash.ComputeHash(Encoding.Default.GetBytes(textBox1.Text));
byte[] hash = md5hash.ComputeHash(inputBytes);
StringBuilder sBuilder = new StringBuilder();
for (int i = 0; i < hash.Length; i++)
{
sBuilder.Append(hash[i].ToString("X2"));
}
return sBuilder.ToString();

Na segunda linha, já subistitui o Default por unicode, ASCII, utf7, utf8, utf32 e nada.

No delphi, abri a unit do componente (LbCipher) para ver e ele usa AnsiString.

Alguem sabe como me ajudar????

Maia

Respostas

02/01/2014

Chiodini

Boa tarde
Voce pode dar uma olhada neste artigo
onde mostra criptografia e descriptografia.
e veja, se pode te ajudar.


devbrasil.net/profiles/blogs/criptografia-em-c-aes+&cd=5&hl=pt-BR&ct=clnk&gl=br


Att,
Leandro
Responder Citar

02/01/2014

Luiz Pires

Link não esta funcionando da erro 404 :(
Responder Citar

03/01/2014

Maia

O exemplo que eu peguei estava fazendo a criptografia de uma string já criptografada:

byte[] inputBytes = md5hash.ComputeHash(Encoding.Default.GetBytes(textBox1.Text));
byte[] hash = md5hash.ComputeHash(inputBytes);

Foi só retirar a segunda linha. E o encode é o Default mesmo.

Mesmo assim, obrigado pela atenção.
Responder Citar