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

  • 时间:
  • 550人关注

这篇文章主要介绍了详解python实现可视化的MD5、sha256哈希加密小工具,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧,另外这篇文章主要知识点是关于python、MD5哈希加密、python、sha256哈希加密、python可视化的内容,如果大家想对相关知识点有系统深入的学习,可以参阅以下电子资料:

本文主要介绍了详解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 gevent协程切换实现方法

下一篇:Python如何限制输出日志的大小

相关内容

学习笔记

17小时25分钟前回答

Python md5与sha1加密算法的详细介绍

这篇文章简单介绍了md5级sha1加密算法的概念、原理,并结合实例形式分析了Python使用hashlib模块实现加密功能的具体操作技巧,需要的朋友可以参考下 如果,md5和sha1加密的内容过多,可以这么用: [python] m = hashlib.md5() m.update('a') m.update('b') s = m.hexdigest() #效果等于m = hashlib.md6('ab').hexd MD5 MD5的全称是Message-Digest Algorithm 5(信息-摘要算法),在90年代初由MIT Laboratory for Computer Science和RSA Data Security Inc的Ronald L. Rivest开发出来,经MD2、MD3和MD4发展而来。是一种不可逆的加密算法,目前是最牢靠的加密算法之一,尚没有能够逆运算的程序被开发出来,它对应任何字符串都可以加密成一段唯一的固定长度的代码。 特性:……

10小时37分钟前回答

python实现AES加密与解密

AES加密方式有五种:ECB, CBC, CTR, CFB, OFB 从安全性角度推荐CBC加密方法,本文介绍了CBC,ECB两种加密方法的python实现 python 在 Windows下使用AES时要安装的是pycryptodome 模块 pip install pycryptodome python 在 Linux下使用AES时要安装的是pycrypto模块 pip install pycrypto CBC加密需要一个十六位的key(密钥)和一个十六位iv(偏移量) ECB加密不需要iv AES CBC 加密的python实现 from Crypto.Cipher import AESfrom binascii import b2a_hex, a2b_hex# 如果text不足16位的倍数就用空格补足为16位def add_to_16(text): if len(text.encode('utf-8')) % 16: add = 16 - (len(text.encode('utf-8')) % 16) else: add = 0 text = text + ('\0' * add) return text.encode('utf-8')# 加密函数def encrypt(text): key = '9999999999999999'……