MD5 EM PHP MD5 EM VB6

AMELORP 22/02/2013 14:34:52
#419537
Tenho um sistema em VB6 usando MD5 e outro em PHP usando MD5 e percebi que o resultado gerado dos dois é diferente. Alguem pode me ajudar?
AJSO 22/02/2013 14:49:55
#419538
Resposta escolhida
Caro AMELORP


Como esta montado o código em PHP e VB 6.0?

Boa sorte
OCELOT 22/02/2013 14:58:32
#419540
Provavelmente a implementação que você pegou do VB6 está incorreta ou você está usando um deles da forma errada.

Use um valor para testes em que você saiba o resultado, por exemplo a palavra apple tem que retornar o hash 1f3870be274f6c49b3e31a0c6728957f, calcule o hash dessa palavra no VB e no PHP e veja se o resultado é esse, se não for é porque tem algo errado
AMELORP 22/02/2013 15:04:10
#419541
EM VB


Private Sub gerar_md5()
[ô]create variables (for MD5)
Dim Text As String
Dim D As String
Dim fill As String
Dim MD5


[ô]text = Text1.text
Text = txtsenha.Text

MD5 = CalculateMD5(Text)


Length = Len(MD5)
D = [Ô][Ô]



[ô]xor hash method
[ô]confusing huh????
[ô]very complicated to make sure there is no way decrypting
For i = 1 To Length
Char$ = Mid(MD5, i, 1)
Code = i + 1
code2 = i * Code
salt = i * 2
result = (((Asc(Char$) Xor Code) + ((code2 * Code) + salt)) Xor code2)
logans = Abs(Fix(Fix(Cos(result)) * 255 + Sin(result)))
result = result + ((Length And i) Or (Length Or i)) + logans
D = D & result
Next i



hash = CalculateMD5(D)
hash = StrReverse(hash)

[ô]make encrypted password more complicated
[ô]like ABCD to aBCd

fill = [Ô][Ô]
For i = 1 To Len(hash)
alph = Mid(hash, i, 1)
getrand = (i * 2 + salt) Mod i

If getrand Mod 2 = 0 Then
alph = LCase(alph)

Else
alph = UCase(alph)

End If

fill = fill & alph


Next i




lasthash = CalculateMD5(fill)

[ô]Text2.text = UCase(lasthash)
txt_senha_md5.Text = lasthash



End Sub


EM PHP nao sei como foi acho que é padrão.
AJSO 22/02/2013 15:53:06
#419543
Caro


Essa função ou processo CalculateMD5 é quem faz todo o tratamento de seu código............

E não esta relacionada em seu código

Gerar o MD5
MD5 = CalculateMD5(Text)

Verifica o HASH
hash = CalculateMD5(D)
hash = StrReverse(hash)


Gera o HASH
lasthash = CalculateMD5(fill)


Acredito que esse código em VB não esta fazendo o calculo do MD5 padrão


Existem outros métodos mais simples para gerar um MD5e mVB 6.0

Olhe este exemplo em Vb 6.0 com Class.............


Boa Sorte
Tópico encerrado , respostas não são mais permitidas