Я не идентичен указанному вами коду. Я полагаю, вы передали недопустимое значение в функцию Encrypt / Decrypt.
Я добавил некоторые изменения:
#Import Libraries
from functools import partial
from cryptography.fernet import Fernet
from tkinter import *
import base64
key = Fernet.generate_key()
f = Fernet(key)
def Encrypt(text_f: Entry):
encrypted = f.encrypt(bytes(text_f.get(), 'utf-8'))
print("[*] Encrypted: {}".format(encrypted))
return encrypted
def Decrypt(text_f: Entry):
plain = f.decrypt(bytes(text_f.get(), 'utf-8'))
print("[*] Plain: {}".format(plain))
return plain
#Set Window
root = Tk()
#Define Elements
text_user = ""
instruction_1 = Label(root, text="Input Text")
text_input = Entry(root, textvariable=text_user)
button_encode = Button(root, text='Encode', command=partial(Encrypt, text_input))
button_decode = Button(root, text='Decode', command=partial(Decrypt, text_input))
text_description = Label(root, text="")
#Pack Elements
instruction_1.pack(ipady = 10, ipadx = 5)
text_input.pack(ipady = 5, ipadx = 4)
button_encode.pack(ipady = 3, ipadx = 12)
button_decode.pack(ipady = 3, ipadx = 12)
#Setup Window Properties
root.geometry('800x650')
root.title("APEP | Encoder & Decoder")
#Loop Window Runtime
root.mainloop()
Я добавил partial
импорт функции и получение текста из Entry widget (text_f.get ()).
Результаты - это то, что вы, вероятно, ожидали:
[*] Encrypted: b'gAAAAABequ_Y0sJVQVDTTcES3nHKm50gTlKqECPmEyLUgh3A1ehw0ANkKmk9PF3Y-vZ8wS6oGwvL6l432WiNO3U0LlTkD1ilhQ=='
[*] Plain: b'test'