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
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.