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
| # -*- coding: cp1252 -*- # Définition l'encodage des caractères
import Tkinter # le programme va aller chercher toutes les fonctions de la librairie Tkinter
# fonction de chiffrement
def Chiffrement(caractere,clef):
if caractere+clef>127: # Cas ou le décalage dépasse de la table ascii
return (caractere+clef-127)
else:
return (caractere+clef) # Réalise le décalage dans la cas non accentuée, retourne un entier
def chiffreCesar():
clef = cle.get()%128 #mise à l'echelle de la clef <128
MessageInter =[] # Cette variable list contiendra le message en ascii décalé de 65 (code ASCII de A).
MessageInter = [ord(i) for i in texteclair.get()]
MessageCode='' # chaîne de caractères qui contiendra le cryptogramme.
# concaténation des caractères de rang i pour obtenir le texte clair
for i in MessageInter:
MessageCode = MessageCode+chr(Chiffrement(i,clef))
affichage['text'] =MessageCode
# ---------------------------------------------------
# Debut
# ---------------------------------------------------
# création de la fenêtre, avec le nom code césar
Fenetre = Tkinter.Tk()
Fenetre.title('Code César')
Fenetre.geometry("400x300") # définie la dimension minimale de la fenêtre
Fenetre.maxsize(1024,768) # taille maximum de la fenetre
#Création des zones de saisie à partir de la classe Label().
# fenêtre de saisie texte à coder
saisietexte = Tkinter.Label(Fenetre, text = 'texte à coder:')
saisietexte.pack() # commande d'affichage du label
texteclair=Tkinter.StringVar() # variable pour recevoir le texte saisi
texteclairlu = Tkinter.Entry(textvariable=texteclair, width=50) # saisie du texte
texteclairlu.pack()
# fenêtre de la sasie de la clé
saisiecle = Tkinter.Label(Fenetre, text = 'clé ?')
saisiecle.pack()
cle=Tkinter.IntVar()
clelue = Tkinter.Entry(textvariable=cle, width=10)
clelue.pack()
# création du bouton crypter
bouton = Tkinter.Button(Fenetre, text =' CRYPTER', command=chiffreCesar)
bouton.pack()
# gestion affichage texte codé
textecode = Tkinter.Label(Fenetre, text='Texte codé :')
textecode.pack()
affichage = Tkinter.Label(Fenetre, width=30)
affichage.pack()
Fenetre.mainloop()## lance le gestionnaire d'événements |
Partager