Array
(
)

MD5 - Não bate com o calculado no Delphi

Maia
|
MVP
    02 jan 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????

Chiodini
   - 02 jan 2014

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

Luiz Pires
   - 02 jan 2014

Link não esta funcionando da erro 404 :(

Maia
|
MVP
    03 jan 2014

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.