voici une fonction de cryptage et une de décryptage:
-crypter(msgclair,cle): on passe en parametre le texte à crypter et la clé, puis la fonction retourne le texte cryptée.
-decrypter(msgcrypt,cle): on passe en parametre le texte à décrypter et la clé, puis la fonction retourne le texte en clair.
L'ancien source que j'avais fourni ne se souciait pas si Asc(Mid(msgclair,i,1))+Asc(Mid(cle,j,1))>255 se qui pouvait poser des soucis. Maintenant le problème est résolu.
Source / Exemple :
<%
function crypter(msgclair,cle)
taillemsg=len(msgclair)
taillecle=len(cle)
i=1
j=1
msgcrypt=""
do while i<=taillemsg
if j>taillecle then j=1 end if
codeasc=Asc(Mid(msgclair,i,1))+Asc(Mid(cle,j,1))
if codeasc>255 then
msgcrypt=msgcrypt&Chr(codeasc-255)
else
msgcrypt=msgcrypt&Chr(codeasc)
end if
i=i+1
j=j+1
loop
crypter=msgcrypt
end function
function decrypter(msgcrypt,cle)
taillemsg=len(msgcrypt)
taillecle=len(cle)
i=1
j=1
msgclair=""
do while i<=taillemsg
if j>taillecle then j=1 end if
codeasc=Asc(Mid(msgcrypt,i,1))-Asc(Mid(cle,j,1))
if codeasc<0 then
msgclair=msgclair&Chr(255+codeasc)
else
msgclair=msgclair&Chr(codeasc)
end if
i=i+1
j=j+1
loop
decrypter=msgclair
end function
%>
3 déc. 2006 à 22:53
Il faut rajouter ByVal devant sa variable dans la fonction! Une sombre histoire de pointeur, en tout cas ça marche!
Voici la solution en code:
dans un module :
public function crypt(ByVal msgclair as String)
[...]
end function
dans une form:
private sub button1_click()
passwordCrypte=crypt(txtb_password.text)
end sub
Voilà!
3 déc. 2006 à 22:43
Je suis désespéré, pourtant je type bien mes variables...
17 juin 2003 à 12:18
Pour crazyjoe -> le cryptage de césar décale tous les caractère avec le même décallage. Ici c'est un peu plus complèxe puisque les caractère ont un décallage différent.
Pour CJulien -> Utilise la fonction mod (modulo) pour faire tes décalages. Mais il y a plus simple, crypte avec la fonction xor et tu pourra décrypter avec la MÊME fonction.
Sinon, ce cryptage n'est efficace que si la clef est de même longueur que le message, sinon une bête équation peu me donner le décryptage (ca me prendra un peu de temps mais pas beaucoup quand même)
17 juin 2003 à 11:03
17 juin 2003 à 08:46
----
Bonne continuation
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.