【Python】Tkinter에 의한 40행으로 만드는 GUI 앱 「해시화 소프트」

소개



내 연구 분야인 블록체인 기술에서 해시 함수는 매우 중요한 기술 중 하나입니다. 이번에는 그 해시 함수의 일종인 SHA256을 사용하여 쉽게 해시 값을 생성할 수 있는 것을 만들어 갑시다! 명령 프롬프트에 내보내면 재미 없기 때문에 Tkinter를 사용하여 GUI 앱을 만들 것입니다.

해시 함수의 구체적인 내용에 대해서는, 블록체인 기술 및 관련 기술의 기사에 있으므로, 흥미가 있으면, 꼭 이쪽을 참조해 주세요. → 해시 함수의 세부 사항 (블록 체인 기술 및 관련 기술)

완성하면 이런 느낌으로 움직입니다!


환경


  • Windows 10 home
  • Python 3.7.1

  • 해시 함수(SHA256)에 의한 해시화 소프트웨어의 제작



    가져오기



    사용하는 라이브러리는 다음 두 가지입니다.
    hashlib을 가져오면 해시 함수 SHA256을 사용할 수 있습니다.
    import tkinter as tk
    import hashlib as hash
    

    창 만들기


    import tkinter as tk
    
    class Application(tk.Frame):
        def __init__(self,master):
            super().__init__(master)
            self.pack()
    
            master.geometry("480x200")
            master.title("ハッシュ関数(SHA256)によるハッシュ化ソフト")
    
    
    def main():
        win = tk.Tk()
        app = Application(master = win)
        app.mainloop()
    
    
    if __name__ == "__main__":
    
        main()
    
    

    이 프로그램으로 창을 만들어갑니다.
    사이즈는 480×200입니다. 타이틀명은 해시 함수(SHA256)에 의한 해시화 소프트입니다.
    자세한 내용은 Python에 의한 Tkinter를 사용한 병아리(클래스화 기법) 문서를 참조하십시오.

    완성된 프로그램



    여기가 완성된 프로그램입니다.

    hash.py
    import tkinter as tk
    import hashlib as hash
    
    class Application(tk.Frame):
        def __init__(self,master):
            super().__init__(master)
            self.pack()
    
            master.geometry("480x200")
            master.title("ハッシュ関数(SHA256)によるハッシュ化ソフト")
    
            self.setGUI()
    
        def setGUI(self):
            self.txt1 = tk.Entry(width=75)
            self.txt1.place(x=15,y=50)
    
            self.txt2 = tk.Entry(width=75)
            self.txt2.place(x=15,y=100)
    
            self.btn = tk.Button(text="ハッシュ化",command = self.btn_click,width=30)
            self.btn.place(x=125, y=150)
    
        def btn_click(self):
            if self.txt1.get() == "":
                self.txt2.delete(0, tk.END)
                self.txt2.insert(0,"")
            else:
                self.txt2.delete(0, tk.END)
                self.txt2.insert(0,hash.sha256(self.txt1.get().encode()).hexdigest())
    
    
    def main():
        win = tk.Tk()
        app = Application(master = win)
        app.mainloop()
    
    
    if __name__ == "__main__":
        main()
    

    setGUI 함수로 텍스트 박스나 버튼을 배치해 갑니다.
    btn_click 함수로 버튼을 눌렀을 때의 처리를 실시합니다. 이제 상단 텍스트 상자의 내용을 해시 함수에 넣고 해시 값을 하단 텍스트 상자에 표시합니다.

    이상으로 해시 함수(SHA256)에 의한 해시화 소프트웨어는 완성됩니다.
    여기까지 읽어 주셔서 감사합니다.

    좋은 웹페이지 즐겨찾기