0% found this document useful (0 votes)
5 views

HS EncryptionDecryption Program

H

Uploaded by

Soulaimane Hajji
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
5 views

HS EncryptionDecryption Program

H

Uploaded by

Soulaimane Hajji
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 3

from tkinter import *

import tkinter as tk
import random
import string

def encrypt_message():
message_a_chiffrer = entry_message.get()
a = len(message_a_chiffrer)
if a <= 10:
b = 10 - a
b = "a" * b
message_a_chiffrer = message_a_chiffrer + b

mode = variable.get()

if mode == "Transposition":
def chiffr(message_a_chiffrer):
message_chiffre = " "
for i in message_a_chiffrer:
char_code = ord(i)
new_char_code = char_code + 3
encrypted_char = chr(new_char_code)
message_chiffre = message_chiffre + encrypted_char
return message_chiffre

def dechiffr(message_chiffre):
dechiffre_message = " "
for i in message_chiffre:
char_code = ord(i)
dechiffre_char_code = char_code - 3
dechiffre_char = chr(dechiffre_char_code)
dechiffre_message = dechiffre_message + dechiffre_char
return dechiffre_message

label_result.config(text="Le message Chiffré est : " + chiffr(message_a_chiffrer))


label_result1.config(text="Le message Déchiffré est : " + dechiffr(chiffr(message_a_chiffrer)))
elif mode == "Substitution":
message_a_chiffre = " "
key = {'a': 'q', 'b': 'w', 'c': 'e', 'd': 'r', 'e': 't', 'f': 'y', 'g': 'u',
'h': 'i', 'i': 'o', 'j': 'p', 'k': 'a', 'l': 's', 'm': 'd', 'n': 'f',
'o': 'g', 'p': 'h', 'q': 'j', 'r': 'k', 's': 'l', 't': 'z', 'u': 'x',
'v': 'c', 'w': 'v', 'x': 'b', 'y': 'n', 'z': 'm'}

def chiff(message_a_chiffrer, key) :


message_chiffre = ""
for char in message_a_chiffrer:
if char in key:
message_chiffre += key[char]
else:
message_chiffre += char
return message_chiffre

def dechiff(message_chiffre, key) :


message_chiffre=chiff(message_a_chiffrer, key)
message_original = ""
inverse_key = {value: key for key, value in key.items()}

for char in message_chiffre:


if char in inverse_key:
message_original += inverse_key[char]
else:
message_original += char
return message_original

label_result.config(text=" Le message Chiffré est : " + chiff(message_a_chiffrer, key))


label_result1.config(text="Le message Déchiffré est : " + dechiff(chiff(message_a_chiffrer, key), key))

root = tk.Tk()
root.geometry("800x800")
root.title("Programme de chiffrement")

filename = PhotoImage(file = "output-onlinepngtools.png")


background_label = Label( image=filename)
background_label.place(x=0, y=0, relwidth=1, relheight=1)

title_label = Label(bg="cyan",font=("Time New Roman",30) ,text="Welcome to Hajji Slimane's encryption program")


title_label.place(x=90,y=20,)
mode_label = tk.Label(root, bg="lime",font=("Time New Roman",20), text="Type de chiffrement (Substitution or Transposition):")
mode_label.place(x=100,y=100,)

variable = StringVar(root)
variable.set("Choisir le type de chiffrement",)

mode_choice = OptionMenu(root, variable, "Substitution", "Transposition")


mode_choice.place(x=600,y=105,)

label_message = tk.Label(root, bg="lime",font=("Time New Roman",20), text="Message à chiffrer:")


label_message.place(x=100,y=200,)

# Créer une zone de texte qui permet a l’utilisateur de saisir le message a chiffrer
entry_message = tk.Entry(root,bg="lime",font=("Time New Roman",20))
entry_message.place(x=500,y=200,)

# créer une bouton avec le texte "Clicker pour chiffrer le message"


# configure la bouton pour executer la fonction encrypt_message
button_encrypt = tk.Button(root,fg="blue",bg="lime",font=("Time New Roman",20), text="Clicker pour chiffrer le message",
command=encrypt_message)

button_encrypt.place(x=250,y=300,)

# créer une zone pour afficher le résultat du chiffrement


label_result = tk.Label(root,bg="lime",font=("Time New Roman",20), text="")

label_result.place(x=300,y=400,)

# créer une zone pour afficher le résultat du dechiffrement

label_result1 = tk.Label(root,bg="lime",font=("Time New Roman",20), text="")

label_result1.place(x=300,y=450,)

root.mainloop()

You might also like