Cryptage de vigenère

Description

Voici un petit programme qui utilise l' algorithme de Vigenère. Je l'ai réalisé aujourd'hui. C'est donc tout frais. J'attends vos commentaires et critiques.
Merci.

Source / Exemple :


Public strMessage As System.String  ' Texte à crypter
 Public strClef As System.String     ' Clef de cryptage

 Private Sub btnCrypt_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnCrypt.Click
        Dim strLettre As System.String ' Chaque caractère du texte à crypter
        Dim strCrypt As System.String  ' Caractère après cryptage
        Dim strClé As System.String    ' Chaque caractère de la clef de cryptage
        Dim intCompteur As System.Int32
        Dim intCompteur1 As System.Int32
        strMessage = txtMessage.Text
        strClef = txtClef.Text
        ' Lecture de chaque caractère du texte à crypter
        ' Addition de chaque caractère de la clef de cryptage au caractère correspondant du texte à crypter
        For intCompteur = 0 To strMessage.Length - 1 Step 1
            strLettre = strMessage.Substring(intCompteur, 1)
            strClé = strClef.Substring(intCompteur1, 1)
            strCrypt = Chr((Asc(strLettre) + Asc(strClé)) Mod 256) ' Mod 256 si addition > 256
            lblCrypt.Text &= strCrypt ' Transcription de chaque caractère crypté 
            intCompteur1 += 1 ' Incrémentation du compteur de la clef

            If intCompteur1 = strClef.Length - 1 Then ' Si on atteint la fin de la clef, on revient au début
                intCompteur1 = 0
            End If
        Next
    End Sub

    Private Sub btnDecrypt_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnDecrypt.Click
        Dim strLettreCrypt As System.String ' Chaque caractère  du texte crypté
        Dim strCléDecrypt As System.String  ' Chaque caractère de la clef
        Dim strDecrypt As System.String     ' Caractère après décryptage
        Dim intCompteur2 As System.Int32
        Dim intCompteur3 As System.Int32
        ' Lecture du texte à décrypter
        ' Soustraction de chaque caractère de la clef du caractère correspondant du texte à décrypter
        For intCompteur2 = 0 To lblCrypt.Text.Length - 1 Step 1
            strLettreCrypt = lblCrypt.Text.Substring(intCompteur2, 1)
            strCléDecrypt = strClef.Substring(intCompteur3, 1)
            If Asc(strLettreCrypt) - Asc(strCléDecrypt) < 0 Then
                ' Si la soustraction < 0, on rajoute 256 sinon tel quelle
                strDecrypt = Chr(Asc(strLettreCrypt) - Asc(strCléDecrypt) + 256)
            Else
                strDecrypt = Chr(Asc(strLettreCrypt) - Asc(strCléDecrypt))
            End If
            lblDecrypt.Text &= strDecrypt ' Transcription de chaque caractère décrypté
            intCompteur3 += 1

            If intCompteur3 = strClef.Length - 1 Then ' Si fin de clef, on revient au début
                intCompteur3 = 0
            End If
        Next
    End Sub

    Private Sub btnEffacer_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnEffacer.Click
        ' Effacement des TextBox et des Labels
        txtMessage.Text = ""
        txtClef.Text = ""
        lblCrypt.Text = ""
        lblDecrypt.Text = ""
        ' Mettre le focus sur le TextBox de saisie du texte à crypter
        txtMessage.Focus()
    End Sub

    Private Sub btnQuitter_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnQuitter.Click
        Me.Close()
    End Sub

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.