Cryptage xor en fonction d'une clé et du caractère précédent

Description

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

Codes Sources

A voir également

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.