Publié : sam. 13/sept./2008 22:48
J'ai passé la journée dessus et il y a un problème.
voici un exemple et cela même sans unicode !
J'ai posé aussi le problème sur le forum anglais mais bon ...
Pffffffffffff quel galère
voici un exemple et cela même sans unicode !
J'ai posé aussi le problème sur le forum anglais mais bon ...
Pffffffffffff quel galère

Code : Tout sélectionner
ProcedureDLL.s RC4(Inp.s, Key.s)
;encoded.s = RC4("Message", "Password")
;decoded.s = RC4(encoded, "Password")
Protected i.l, j.l, t.l, x.l, temp.w, Y.w, Outp.s
Dim S.w(255)
Dim K.w(255)
i.l = 0 : j.l = 0 : t.l = 0 : x.l = 0
temp.w = 0 : Y.w = 0
Outp.s = ""
For i = 0 To 255
S(i) = i
Next
j = 1
For i = 0 To 255
If j>Len(key)
j = 1
EndIf
K(i) = Asc(Mid(key, j, 1))
j = j + 1
Next i
j = 0
For i = 0 To 255
j = (j + S(i) + K(i)) & 255
temp = S(i)
S(i) = S(j)
S(j) = temp
Next i
i = 0
j = 0
For x = 1 To Len(Inp)
i = (i + 1) & 255
j = (j + S(i)) & 255
temp = S(i)
S(i) = S(j)
S(j) = temp
t = (S(i) + (S(j) & 255)) & 255
Y = S(t)
Outp = Outp + Chr(Asc(Mid(Inp, x, 1)) ! Y)
Next
ProcedureReturn Outp
EndProcedure
ProcedureDLL.s CryptText(Text.s, Key.s)
ProcedureReturn RC4(Text.s, Key)
EndProcedure
ProcedureDLL.s DeCryptText(Text.s, Key.s)
ProcedureReturn RC4(Text.s, Key)
EndProcedure
code.s="QZARM69HMA8ZKB"
Debug code
crypt.s = CryptText(code, "16384")
Debug crypt
Debug DeCryptText(crypt, "16384")