Test cryptage/decryptage

Signaler
Messages postés
40
Date d'inscription
lundi 3 mars 2008
Statut
Membre
Dernière intervention
8 juillet 2008
-
Messages postés
17286
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
23 décembre 2019
-
bonjour,
j'ai fait un petit programme de test pour le cryptage/decryptage
il m'affiche le bon resultat mais avec une msgbox d'erreur.
est-ce que quelqu'un sait d'ou cette erreur peut elle venir????
merci d'avance

code:
Dim mdp As String
Dim modif(20) As String
Dim modif1(20)
Dim i As Integer
Dim j As Integer


Private Sub Command1_Click()
mdp = Text1.Text
For i = 0 To Len(mdp) - 1
modif(i) = Mid(mdp, i + 1, 1)
modif(i) = Asc(modif(i)) + 3
Text2.Text = Text2.Text & modif(i)
Next i
Text3.Text = Text2.Text
End Sub


Private Sub Command2_Click()
For j = 0 To Len(Text3.Text)
modif1(j) = Mid(Text3.Text, j * 2 + 1, 2)
modif1(j) = modif1(j) - 3
Text4.Text = Text4.Text & Chr(modif1(j))
Next j
End Sub

2 réponses

Messages postés
7393
Date d'inscription
mercredi 23 avril 2003
Statut
Membre
Dernière intervention
6 avril 2012
55
Salut,
Quelle est cette erreur?
Quel est le mot de passe lors de ton test?

@+: Ju£i?n
Pensez: Réponse acceptée
Messages postés
17286
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
23 décembre 2019
68
plein de choses ne vont pas...

- variables déclarées dans la partie déclaration du module...
- crash si Text1.Text contient plus de 20 caractères
- contenu de Text2.Text pas vidé au début de Command1_Click
- contenu de Text4.Text pas vidé au début de Command2_Click
- a quoi servent les tableaux modif et modif1 (tu dupliques toujours tout ?
- du grand n'importe quoi car tu prend les chiffres par deux... 87104123119052 sera incompréhensible (Text1 <> T◙)↨♂Z4)

une fois nettoyé, ton code devient :

Private Sub Command1_Click()
Dim i As Long
Dim nAscii As Integer
Text2.Text = vbNullString
For i = 1 To Len(Text1.Text)
nAscii = Asc(Mid$(Text1.Text, i, 1)) + 3
Text2.Text = Text2.Text & Right$("00" & nAscii, 3)
Next i
Text3.Text = Text2.Text
End Sub

Private Sub Command2_Click()
Dim i As Integer
Dim nAscii As Integer
Text4.Text = vbNullString
For i = 1 To Len(Text3.Text) Step 3
nAscii = Val(Mid$(Text3.Text, i, 3)) - 3
Text4.Text = Text4.Text & Chr$(nAscii)
Next i
End Sub