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