par SoS-Math(25) » sam. 18 déc. 2021 13:54
Voici un code complet avec la méthode Vigenère donnée par le lien github :
Code : Tout sélectionner
from tkinter import Label, Tk, Entry, scrolledtext, StringVar, END
from tkinter.ttk import Combobox
#Mes fonctions:
def choix(event):
print(menu.current()) #Choix de la méthode de chiffrement : 0, 1 ou 2...
if menu.current() == 0:#Vigenère
text = txt.get("1.0", END)#On récupère le contenu du ScrolledText
chiffre_vigenere(text, [18,7,10,16])#On appelle la fonction de chiffrement
def chiffre_vigenere(phrase, cle):
"""" Chiffre une phrase par un décalage de Vigenère """
phrase_codee = ""
rang = 0
n = len(cle)
for car in phrase:
if car not in Alphabet:
phrase_codee += car
else:
i = Alphabet.index(car)
j = (i+cle[rang]) % 26
car_code = Alphabet[j]
phrase_codee += car_code
rang = (rang + 1) % n
#On affiche la phrase codée dans le label correspondant au résultat:
res.set(phrase_codee)
Alphabet = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
root = Tk()
root.title("Interface graphique du projet Cryptographie")
root.geometry('650x400')
root.config(bg='silver')
#
Label(root, text='Choisissez une méthode de cryptographie :', font = ( "Arial Bold" , 15 ), fg='yellow',bg='black').pack()
menu = Combobox(root, values=("Méthode Vigenère", "Méthode de chiffrement affine", "Méthode de César", 8))
menu.current(2)
menu.pack()
lab = Label(root, text='Saisissez le texte que vous souhaitez coder', font = ( "Arial Bold" , 12 ), fg='black')
lab.pack()
txt = scrolledtext.ScrolledText(root, width=40,height=10)
txt.pack()
#Une phrase au départ:
txt.insert('1.0', 'MILOU ET TINTIN')
#Pour le résultat:
res = StringVar()
res_box = Label(root, textvariable=res, font = ( "Arial Bold" , 12 ), fg='black')
res_box.pack()
menu.bind("<<ComboboxSelected>>", choix)#Lier le menu déroulant à une fonction
root.mainloop()
Essaye le en choisissant la méthode Vigenère dans le menu :
https://trinket.io/pygame
Bon courage pour la suite
Voici un code complet avec la méthode Vigenère donnée par le lien github :
[code]from tkinter import Label, Tk, Entry, scrolledtext, StringVar, END
from tkinter.ttk import Combobox
#Mes fonctions:
def choix(event):
print(menu.current()) #Choix de la méthode de chiffrement : 0, 1 ou 2...
if menu.current() == 0:#Vigenère
text = txt.get("1.0", END)#On récupère le contenu du ScrolledText
chiffre_vigenere(text, [18,7,10,16])#On appelle la fonction de chiffrement
def chiffre_vigenere(phrase, cle):
"""" Chiffre une phrase par un décalage de Vigenère """
phrase_codee = ""
rang = 0
n = len(cle)
for car in phrase:
if car not in Alphabet:
phrase_codee += car
else:
i = Alphabet.index(car)
j = (i+cle[rang]) % 26
car_code = Alphabet[j]
phrase_codee += car_code
rang = (rang + 1) % n
#On affiche la phrase codée dans le label correspondant au résultat:
res.set(phrase_codee)
Alphabet = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
root = Tk()
root.title("Interface graphique du projet Cryptographie")
root.geometry('650x400')
root.config(bg='silver')
#
Label(root, text='Choisissez une méthode de cryptographie :', font = ( "Arial Bold" , 15 ), fg='yellow',bg='black').pack()
menu = Combobox(root, values=("Méthode Vigenère", "Méthode de chiffrement affine", "Méthode de César", 8))
menu.current(2)
menu.pack()
lab = Label(root, text='Saisissez le texte que vous souhaitez coder', font = ( "Arial Bold" , 12 ), fg='black')
lab.pack()
txt = scrolledtext.ScrolledText(root, width=40,height=10)
txt.pack()
#Une phrase au départ:
txt.insert('1.0', 'MILOU ET TINTIN')
#Pour le résultat:
res = StringVar()
res_box = Label(root, textvariable=res, font = ( "Arial Bold" , 12 ), fg='black')
res_box.pack()
menu.bind("<<ComboboxSelected>>", choix)#Lier le menu déroulant à une fonction
root.mainloop()[/code]
Essaye le en choisissant la méthode Vigenère dans le menu : [URL_B]https://trinket.io/pygame[/URL_B]
Bon courage pour la suite