Bonjour à tous voilà, j'ai deux petites choses que je n'ai pas bien comprise
par exemple l'utilisation du xor , voici le code qui permet d'enregistrer un fichier en le cryptant :
voici l'autre bouton qui permet d'ouvrir un fichier précédemment crypté
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 Dim letter As Char Dim strCode As String Dim i, charsInFile, Code As Short SaveFileDialog1.Filter = "Text files (*.txt)|*.txt" SaveFileDialog1.ShowDialog() If SaveFileDialog1.FileName <> "" Then strCode = InputBox("Enter Encryption Code") If strCode = "" Then Exit Sub 'if cancel clicked 'save text with encryption scheme Code = CShort(strCode) charsInFile = txtNote.Text.Length FileOpen(1, SaveFileDialog1.FileName, OpenMode.Output) For i = 0 To charsInFile - 1 letter = txtNote.Text.Substring(i, 1) 'convert to number w/ Asc, then use Xor to encrypt Print(1, Asc(letter) Xor Code) 'and save in file Next FileClose(1) mnuCloseItem.Enabled = True End If
voilà j'ai remarqué que dans le bouton qui permettait d'enregistré, le xor permettait d'ajouter un nombre précédemment entré au code ASCII des lettres contenues dans le fichier tandis que dans le deuxième cas il permettait de retirer ce nombre , alors j'aimerais savoir Pourquoi il retire ce nombre dans le deuxième cas .
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 Dim ch As Char Dim strCode As String Dim Code, Number As Short Dim Decrypt As String = "" OpenFileDialog1.Filter = "Text files (*.TXT)|*.TXT" OpenFileDialog1.ShowDialog() 'display Open dialog box If OpenFileDialog1.FileName <> "" Then Try 'open file and trap any errors using handler strCode = InputBox("Enter Encryption Code") If strCode = "" Then Exit Sub 'if cancel clicked Code = CShort(strCode) FileOpen(1, OpenFileDialog1.FileName, OpenMode.Input) Do Until EOF(1) 'read lines from file Input(1, Number) 'read encrypted numbers ch = Chr(Number Xor Code) 'convert with Xor Decrypt = Decrypt & ch 'and build string Loop txtNote.Text = Decrypt 'then display converted string lblNote.Text = OpenFileDialog1.FileName txtNote.Select(1, 0) 'remove text selection txtNote.Enabled = True 'allow text cursor mnuCloseItem.Enabled = True 'enable Close command mnuOpenItem.Enabled = False 'disable Open command Catch MsgBox("Error opening file.") Finally FileClose(1) 'close file End Try End If
J'ai trouvé aussi ce code expliquant un peu cela :
le 1er message donnera 115 tandis que l'autre donnera 65 pourtant je ne vois pas trop ce qui a changé à part que dans le 1er cas la valeur numérique est obtenue à partir du code ASCII d'une lettre, alors j'aimerais savoir si c'est pour cela que dans le 1er cas il l'ajoute tandis que dans le 2e il le retire.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 MsgBox(Asc("A") Xor 50) MsgBox(115 Xor 50)
et aussi la ligne :
cela veut dire que le programme copie le fichier "1" en tant que Number?
Code : Sélectionner tout - Visualiser dans une fenêtre à part Input(1, Number)
voila merci d'avance et bonne fin de journée :p
essayez de donner des réponses claires merci^^
Partager