python实现可视化的MD5、sha256哈希加密小工具,分享给大家,具体如下:
效果图:
刚启动的状态
超过十条不全量显示
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 | 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", width=10, height=2, command=lambda:copy(str(m2))).grid(row=1, column=2) #设置加密按钮,command表示触发条件 B1=tk.Button(windowss,text="哈希加密",width=10,height=2,command=judge).grid(row=1,column=1) #输出结果 T1 = tk.Label(windowss, width=70, height=10,bd=0,textvariable=judge_text1).grid(row=3, column=1) # 生成结果 md5 T2 = tk.Label(windowss, width=70,height=10, bd=0,textvariable=judge_text2).grid(row=4, column=1) # 生成结果 sha256 windowss.mainloop()#生成前端窗口 |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通