Base 64 et MD5
Le
jean saint jalmes
Bonjour,
Je dois utiliser l'algorithme MD5 et l'encodage "base 64" dans un échange
http avec un serveur distant sous VB6.0
Connaissez-vous une API ou un contrôle qui peremette cela ?
Merci pour votre aide
Jean
Je dois utiliser l'algorithme MD5 et l'encodage "base 64" dans un échange
http avec un serveur distant sous VB6.0
Connaissez-vous une API ou un contrôle qui peremette cela ?
Merci pour votre aide
Jean

Poser une question


Hello,
pour Base64, c'est facile. Voici 2 fonctions qui codent et décodent.
Ces fonctions ont été écrites par NG, qui les avait posté ici même,
dans le post:
http://groups.google.be/group/micro.../thread/1c
20a2e2c9404101/5ee852a49d2c472b?qºse+64&rnum=4#5ee852a49d2c472b
je les reproduit ici in extenso:
Public Function Base64Encode$(S$)
Dim b() As Byte, Out() As Byte, i&, j&, L&, Enc() As Byte
If Len(S) = 0 Then Exit Function
Enc StrConv("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",
vbFromUnicode)
L = Len(S): b = StrConv(S, vbFromUnicode)
ReDim Preserve b(0 To (UBound(b) 3) * 3 + 2)
ReDim Preserve Out(0 To (UBound(b) 3) * 4 + 3)
For i = 0 To UBound(b) - 1 Step 3
Out(j) = Enc(b(i) 4): j = j + 1
Out(j) = Enc((b(i + 1) 16) Or (b(i) And 3) * 16): j = j + 1
Out(j) = Enc((b(i + 2) 64) Or (b(i + 1) And 15) * 4): j = j + 1
Out(j) = Enc(b(i + 2) And 63): j = j + 1
Next i
For i = 1 To i - L: Out(UBound(Out) - i + 1) = 61: Next i
Base64Encode = StrConv(Out, vbUnicode)
End Function
Public Function Base64Decode$(S$)
Dim b() As Byte, Out() As Byte, i&, j&, L&, Enc() As Byte, Dec(0 To 255)
As Byte
If Len(S) = 0 Then Exit Function
Enc StrConv("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",
vbFromUnicode)
For i = 0 To 255: Dec(i) = 64: Next
For i = 0 To 63: Dec(Enc(i)) = i: Next
L = Len(S): b = StrConv(S, vbFromUnicode)
ReDim Preserve Out(0 To (L 4) * 3 - 1)
For i = 0 To UBound(b) Step 4
Out(j) = (Dec(b(i)) * 4) Or (Dec(b(i + 1)) 16): j = j + 1
Out(j) = (Dec(b(i + 1)) And 15) * 16 Or (Dec(b(i + 2)) 4): j = j + 1
Out(j) = (Dec(b(i + 2)) And 3) * 64 Or Dec(b(i + 3)): j = j + 1
Next i
If b(L - 2) = 61 Then j = 2 Else If b(L - 1) = 61 Then j = 1 Else j = 0
ReDim Preserve Out(0 To UBound(Out) - j)
Base64Decode = StrConv(Out, vbUnicode)
End Function
Pour MD5, il doit suffire de 5 minutes de Googlage pour trouver
une implémentation correcte en VB.
--
Jean-marc
Le codage et le decodage Base64 fonctionne bien.
Il me reste à trouver l'info pour MD5. J'ai cherché sur google mais je n'ai
encore rien trouvé de très précis
Encore merci, Jean
"jean saint jalmes" a écrit :
Pour info, je viens de trouver une info sur l'API "CrytoAPI" qui prend en
charge le Hash MD5.
A+, Jean
"jean-marc" a écrit :