1. 程式人生 > 程式設計 >詳解python實現視覺化的MD5、sha256雜湊加密小工具

詳解python實現視覺化的MD5、sha256雜湊加密小工具

本文主要介紹了詳解python實現視覺化的MD5、sha256雜湊加密小工具,分享給大家,具體如下:

效果圖:

剛啟動的狀態

詳解python實現視覺化的MD5、sha256雜湊加密小工具

輸入文字、觸發加密按鈕後支援複製

詳解python實現視覺化的MD5、sha256雜湊加密小工具

超過十條不全量顯示

詳解python實現視覺化的MD5、sha256雜湊加密小工具

程式碼

import hashlib
import tkinter as tk

#視窗控制
windowss=tk.Tk()
windowss.title('Python_md5')#視窗title,並非第一行
windowss.geometry('820x550')
windowss.resizable(width=True,height=True)#寬度可變,高度可變
#label元件-文字標籤
label1=tk.Label(windowss,text="請輸入文字").grid(row=0,column=0)#生成label
label2=tk.Label(windowss,text="MD5:").grid(row=3,column=0)#生成結果固定label
label3=tk.Label(windowss,text="SHA256:").grid(row=4,column=0)#生成結果固定label
#entry元件-文字輸入框
E12=tk.Text(windowss,width=80,bd=2.5,height=10,relief="sunken")
E12.grid(row=0,column=1)#輸入正則表示式入口

#進入解析模式
judge_text1 = tk.StringVar()
judge_text1.set("暫未輸入")
judge_text2 = tk.StringVar()
judge_text2.set("")
def copy(text2):
  windowss.clipboard_clear() # 清除剪貼簿內容
  windowss.clipboard_append(text2)
def judge():
  text1 = E12.get('0.0','end')#'0.0','end'全量讀取
  to_one_line = ' '.join(text1.split())#轉化為列表1
  test_list = to_one_line.split(' ')#轉化為列表2
  m1=""
  m2=""
  for texts in test_list:
    matcher_md5_new= hashlib.md5(texts.encode('utf8'))#md5轉化
    matcher_md5 = str(matcher_md5_new.hexdigest())#獲取md5
    m1=m1+"\n"+matcher_md5#分行
    matcher_sha256_new = hashlib.sha3_256(texts.encode('utf8'))#轉化為sha256
    matcher_sha256 = str(matcher_sha256_new.hexdigest())
    m2 = m2 + "\n" + matcher_sha256
  if len(test_list)>10:#大於十條資料時,不完全顯示
    T3 = tk.Label(windowss,text="").grid(row=5,column=1)
    T4 = tk.Label(windowss,text="tips:最大顯示10條解析文字,可全量複製!").grid(row=6,column=1)
  judge_text1.set(m1)
  judge_text2.set(m2)
  #生成複製按鈕,用了lambda可以排除按鈕之間干擾
  B2 = tk.Button(windowss,text="複製md5",width=10,height=2,command=lambda:copy(str(m1))).grid(row=1,column=0)
  B3 = tk.Button(windowss,text="複製sha256",command=lambda:copy(str(m2))).grid(row=1,column=2)

#設定加密按鈕,command表示觸發條件
B1=tk.Button(windowss,text="雜湊加密",command=judge).grid(row=1,column=1)


#輸出結果
T1 = tk.Label(windowss,width=70,bd=0,textvariable=judge_text1).grid(row=3,column=1) # 生成結果 md5
T2 = tk.Label(windowss,textvariable=judge_text2).grid(row=4,column=1) # 生成結果 sha256

windowss.mainloop()#生成前端視窗

到此這篇關於詳解python實現視覺化的MD5、sha256雜湊加密小工具的文章就介紹到這了,更多相關python MD5、sha256雜湊加密內容請搜尋我們以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援我們!