Bonjour a tous les forumeurs et forumeuses, je dois dans le cadre d'un projet réalisé une fonction qui dans un fichier texte, cryptera le texte présent grace à une clef de cryptage, puis dans un nouveau fichier texte, le décryptera.
J'ai réussi ce programme, le problème, est qu'il ne fonctionne qu'avec des minuscules, j'aimerais pouvoir prendre en compte des majuscules. Si quelqu'un a une idée de comment faire, merci de bien vouloir me répondre =)

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
 
Public Class Form1
    Dim tableau(26, 26) As Char
    Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        Dim x As Integer = 0
        For i As Int16 = 0 To 25 'i represente l'index de la ligne
            For j As Integer = 0 To 25 'j représente l'index de la colonne
                If 97 + i + j = 123 Then x = 26 'une fois arrivée à 123,on repasse a 26
                tableau(i, j) = Chr(j + 97 + i - x) 'les cordonnées du tableau retournent un caractere
 
            Next
            x = 0
        Next
 
    End Sub
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Dim normal As New IO.StreamReader("H:\Travail\Mon projet\exemple.txt") 'on lit le fichier text
        Dim crypte As New IO.StreamWriter("H:\Travail\Mon projet\crypte.txt")   ' on va écrire dans un nouveau fichier texe
        Dim i As Integer
        Dim j As Integer
        Dim x As Integer
        Dim y As Integer
        Dim g As Integer
        Dim p As Integer
        Dim toto As String = ""
        Dim cryp As String = ""
        g = Len(clef.Text)
        While normal.Peek > 0   'Pour le passage a la ligne
            toto = normal.ReadLine 'pour lire la ligne jusqu'au dernier caractere
            p = Len(toto)
            For i = 0 To p - 1
                If exclusion(toto(i)) = True Then
                    x = Asc(toto(i)) - 97
                    y = Asc(clef.Text(j)) - 97
                    j = j + 1
                    If j > g - 1 Then
                        j = 0
                    End If
                    cryp = cryp & tableau(x, y) 'permet le cryptage grace au tableau précédent
                Else
                    cryp = cryp & toto(i)
                End If
            Next
            crypte.WriteLine(cryp)
            cryp = ""
        End While
        normal.Close()
        crypte.Close()
    End Sub
    Function exclusion(ByVal c As Char) As Boolean 'si le caractere n'est pas compris entre a et z, alors on le lit, puis on l'écrit sans le crypter.
        If Asc(c) < 97 Or Asc(c) > 122 Then
            Return False
        Else
            Return True
        End If
    End Function
 
    Private Sub Decryp_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Decryp.Click
        Dim crypte As New IO.StreamReader("H:\Travail\Mon projet\crypte.txt") 'on lit le fichier crypté
        Dim decrypte As New IO.StreamWriter("H:\Travail\Mon projet\decrypte.txt") 'on écrira dans le nouveau fichier texte
        Dim n As Integer
        Dim p As Integer
        Dim i As Integer
        Dim j As Integer
        Dim x As Integer
        i = 0
        j = 0
        Dim cryp As String = ""
        Dim decryp As String = ""
        p = Len(clef.Text)
        While crypte.Peek > 0   'lit jusqu'au dernier caractere
            cryp = crypte.ReadLine  'pour lire la ligne
            n = Len(cryp)
 
            For i = 0 To (n - 1)
                If exclusion(cryp(i)) = True Then
                    If Asc(clef.Text(j)) > Asc(cryp(i)) Then
                        x = (27 - (Asc(clef.Text(j)) - 97) + (Asc(cryp(i)) - 97)) - 1 ' la clef de décryptage
                    Else
                        x = Asc(cryp(i)) - 97 - (Asc(clef.Text(j)) - 97) ' deuxieme partie de la clef de décryptage.
                    End If
                    j = j + 1
                    If j > p - 1 Then
                        j = 0
                    End If
                    decryp = decryp & Chr(x + 97) 'écriture dans le fichier
                Else
                    decryp = decryp & cryp(i) 'si la fonction exclusion est fausse alors on recopie, on ne décrypte pas
                End If
            Next
            decrypte.WriteLine(decryp)
            decryp = ""
        End While
        crypte.Close() 'on ferme les deux fichiers
        decrypte.Close()
    End Sub
End Class

Pour plus d'informations et de compréhension sur le code, n'hésitez pas à me mp. Je vous remercie d'avance pour votre aide future