Ces fonctions permettent de coder un texte avec une clé de 1 caractère.
Chaque caractère sera codé avec la clé et le caractère précédent comme ça c'est plus dur à décoder
j'ai bien commenté (je pense) le code affiché dans cette page par contre j'ai pas bcp commenté celui de la source, désolé.
Source / Exemple :
' Codage
' Txt c'est le texte à coder
' Clé c'est la clé (1 seul caractère)
Public Function CodXor(ByVal Txt As String, ByVal Clé As String) As String
' Les variables
Dim Key As String
Dim Char As String
Dim ExChar As Long
Dim Ajout As String
' La clé
Key = Asc(Clé)
' Vide la destination
CodXor = ""
' Le caractère précédent celui codé est vide car on est au début
ExChar = 0
' Code le texte
' on code lettre après lettre
For T = 1 To Len(Txt)
' récupère le caractère que l'on traite
Char = Mid(Txt, T, 1)
' Codage Xor du caractère (Char) en fonction de la clé (Key) et du caractère précédent (ExChar)
Ajout = Chr(Key Xor Asc(Char) Xor ExChar)
' Ajoute le caractère codé à la phrase codée
CodXor = CodXor + Ajout
' Sauvegarde le caractère pour le codage de la lettre suivante
ExChar = Asc(Char)
Next
End Function
' Décodage
Public Function DeCodXor(ByVal Txt As String, ByVal Clé As String) As String
' Les variables
Dim Key As String
Dim Char As String
Dim ExChar As Long
Dim Ajout As String
' La clé
Key = Asc(Clé)
' Vide la destination
ExChar = 0
DeCodXor = ""
' Décode le texte avec la même méthode que le codage
For T = 1 To Len(Txt)
Char = Mid(Txt, T, 1)
Ajout = Chr(Key Xor Asc(Char) Xor ExChar)
DeCodXor = DeCodXor + Ajout
ExChar = Asc(Ajout)
Next
End Function
Conclusion :
dites moi si vous avez des idées pour améliorer le codage, s'il ya des défauts, des bugs...
et laissez votre commentaire svp ça aide toujours
@ +
MadMatt
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.