详解python实现可视化的MD5、sha256哈希加密小工具


Posted in Python onSeptember 14, 2020

本文主要介绍了详解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", 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()#生成前端窗口

到此这篇关于详解python实现可视化的MD5、sha256哈希加密小工具的文章就介绍到这了,更多相关python MD5、sha256哈希加密内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
phpsir 开发 一个检测百度关键字网站排名的python 程序
Sep 17 Python
python实现多线程暴力破解登陆路由器功能代码分享
Jan 04 Python
Python函数返回值实例分析
Jun 08 Python
python分布式环境下的限流器的示例
Oct 26 Python
python opencv实现切变换 不裁减图片
Jul 26 Python
用Python调用win命令行提高工作效率的实例
Aug 14 Python
Python实现鼠标自动在屏幕上随机移动功能
Mar 14 Python
Python 程序报错崩溃后如何倒回到崩溃的位置(推荐)
Jun 23 Python
Python 如何对文件目录操作
Jul 10 Python
Pytorch框架实现mnist手写库识别(与tensorflow对比)
Jul 20 Python
一篇文章搞懂python的转义字符及用法
Sep 03 Python
Python random模块的使用示例
Oct 10 Python
Python利用pip安装tar.gz格式的离线资源包
Sep 14 #Python
Python tkinter制作单机五子棋游戏
Sep 14 #Python
python安装cx_Oracle和wxPython的方法
Sep 14 #Python
python输入中文的实例方法
Sep 14 #Python
python与js主要区别点总结
Sep 13 #Python
python与c语言的语法有哪些不一样的
Sep 13 #Python
python的链表基础知识点
Sep 13 #Python
You might like
咖啡常见的种类
2021/03/03 新手入门
php对gzip文件或者字符串解压实例参考
2008/07/25 PHP
分享一个PHP数据流应用的简单例子
2012/06/01 PHP
php实现建立多层级目录的方法
2014/07/19 PHP
PHP中Array相关函数简介
2016/07/03 PHP
php中array_column函数简单实现方法
2016/07/11 PHP
PHP培训要多少钱
2017/06/06 PHP
Laravel框架控制器,视图及模型操作图文详解
2019/12/04 PHP
如何让动态插入的javascript脚本代码跑起来。
2007/01/09 Javascript
Dojo之路:如何利用Dojo实现Drag and Drop效果
2007/04/10 Javascript
jquery tab插件制作实现代码
2010/06/22 Javascript
javascript利用控件对windows的操作实现原理与应用
2012/12/23 Javascript
如何使Chrome控制台支持多行js模式——意外发现
2013/06/13 Javascript
浅析Javascript中“==”与“===”的区别
2014/12/23 Javascript
在JavaScript中操作时间之setYear()方法的使用
2015/06/12 Javascript
轻松学习jQuery插件EasyUI EasyUI表单验证
2015/12/01 Javascript
jQuery插件Easyui设置datagrid的pageNumber导致两次请求问题的解决方法
2016/08/06 Javascript
jquery对所有input type=text的控件赋值实现方法
2016/12/02 Javascript
判断滚动条滑到底部触发事件(实例讲解)
2017/11/15 Javascript
vue+iview+less 实现换肤功能
2018/08/17 Javascript
vue项目中axios请求网络接口封装的示例代码
2018/12/18 Javascript
简单了解前端渐进式框架VUE
2020/07/20 Javascript
Python增量循环删除MySQL表数据的方法
2016/09/23 Python
python文本数据相似度的度量
2018/03/12 Python
python批量将excel内容进行翻译写入功能
2019/10/10 Python
使用Python进行防病毒免杀解析
2019/12/13 Python
浅谈Python中的字符串
2020/06/10 Python
基于django和dropzone.js实现上传文件
2020/11/24 Python
HTML5之语义标签介绍
2016/07/07 HTML / CSS
世界上最好的足球商店:Unisport
2019/03/02 全球购物
高三自我鉴定怎么写
2013/10/19 职场文书
高级方案规划工程师岗位职责
2013/11/29 职场文书
幼儿园户外活动总结
2014/07/04 职场文书
湖南省党的群众路线教育实践活动总结会议新闻稿
2014/10/21 职场文书
考研英语辞职信
2015/05/13 职场文书
vue2的 router在使用过程中遇到的一些问题
2022/04/13 Vue.js