버그 해결을 위한 모든 질문을 던져
–3 votes
114 views
아래의 식을 구동하여 완료 버튼을 누르면 AttributeError: '_tkinter.tkapp' object has no attribute 'get'라는 오류가 뜹니다. 아무리해도 해결이 안되네요.

import tkinter as tkt

from tkinter.ttk import Button, Entry, Label

from Crypto.Cipher import DES3

from Crypto.Hash import SHA256 as SHA

from tkinter import StringVar, ttk

#--------------------------------------

def CreateKey(keytext, ivtext):

    hash = SHA.new()

    hash.update(keytext.encode('utf-8'))

    key = hash.digest()

    key = key[:24] #192비트로 자름

 

    hash.update(ivtext.encode('utf-8'))

    iv = hash.digest()

    iv = iv[:8] #64비트로 자름

 

    return key, iv

 

def enc(plaintext, key, iv):

    des3 = DES3.new(key, DES3.MODE_CBC, iv)

    enc_msg = des3.encrypt(plaintext.encode())

    return enc_msg

 

def dec(ciphertext, key, iv):

    des3 = DES3.new(key, DES3.MODE_CBC, iv)

    dec_msg = des3.decrypt(ciphertext)

    return dec_msg

 

def Des3():

    Window2 = tkt.Tk()

    Window2.title("Des3 암호화")

    Window2.geometry("600x300")

 

    def Maindef():

        msg = float(Window2.get(msg1))

        ivtext = float(Window2.get(ivtext1))

        keytext = float(Window2.get(keytext1))

        print (msg)

        key, iv = CreateKey(keytext, ivtext)

        cipher_text = enc(msg, key, iv)

        plain_text = dec(cipher_text, key, iv)

 

    #Label

    msg1= Label(Window2, text="원문(8글자)")

    msg1.pack()

    msg1.place(x=150, y=0)

 

    keytext1= Label(Window2, text="백터값을 입력하시오")

    keytext1.pack()

    keytext1.place(x=150, y=20)

 

    ivtext1= Label(Window2, text="키값을 입력하시오")

    ivtext1.pack()

    ivtext1.place(x=150, y=40)

    

    #Button

    a2 = Button(Window2, text = "완료", command=Maindef)

    a2.pack(side="bottom",pady=30)

 

    #Entry

    msg1= Entry(Window2, width=30)

    msg1.pack()

    msg1.place(x=280, y=0)

 

    ivtext1= Entry(Window2, width=30)

    ivtext1.pack()

    ivtext1.place(x=280, y=20)

 

    keytext1= Entry(Window2, width=30)

    keytext1.pack()

    keytext1.place(x=280, y=40)

        

 

    Window2.mainloop()

#--------------------------------------

Window = tkt.Tk()

Window.title("암호화 및 복호화")

Window.geometry("640x400")                           

Window.resizable(False,False)             

 

#---------------------------------------

 

#Button

a1 = Button(Window, text = "DES3")

a1.pack(side="bottom",pady=30)

a1.bind('<Button-1>', lambda e: Des3())

 

Window.mainloop()
asked (-1 point) 1 신고 , 114 views

질문에 대한 답변을 하려면 로그인 또는 가입해야합니다.

버그 해결을 위해 도움을 구하고, 도움을 주세요. 우리는 그렇게 발전합니다.

throw bug 는 프로그래밍에 대한 전분야를 다룹니다. 질문,논의거리,팁,정보공유 모든 것이 가능합니다. 프로그래밍과 관련이 없는 내용은 환영받지 못합니다.

422 질문
560 answers
564 댓글
34,065 users