IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Python知识库 -> tkinter制作hash加密小工具 -> 正文阅读

[Python知识库]tkinter制作hash加密小工具


前言

测试有时候也需要开发一些工具方便使用,我个人是比较喜欢用django去做,再挂载服务器,可以随时用。但偶尔也会有制作本地运行的小工具需求。


一、tkinter是什么?

tkinter是python自带的一个GUI库,其实跨平台多语言支持的QT可能更值得学习下。

二、制作一个hash加密工具

1.代码

代码如下:

mport hashlib

def string_to_hash():
    # 获取选中的
    algorithm_type = algorithm_type_list_componet.get("active")
    print(algorithm_type)
    # text只能重1.0开始 0不行,1好像也不行
    hash_string = input_text.get(1.0, END).strip().replace("\n","").encode()
    print(hash_string)
    algorithm_type_dict = {
        "MD5": hashlib.md5(),
        "SHA1": hashlib.sha1(),
        "SHA224": hashlib.sha224(),
        "SHA256": hashlib.sha256(),
        "SHA384": hashlib.sha384(), 
        "SHA512": hashlib.sha512(),

    }
    m = algorithm_type_dict[algorithm_type]
    m.update(hash_string)
    # print()
    ouput_text.delete(1.0, END)
    ouput_text.insert(1.0, f"{algorithm_type}:{m.hexdigest()}")
    # return m.hexdigest


# Python3.x 导入方法
from tkinter import * 

# 创建主窗口对象
root = Tk()
root.title("hash加密工具")
root.geometry('800x500+10+10')

# 创建frame
frame_1 = Frame(root)
frame_2 = Frame(root)
frame_3 = Frame(root)

frame_1.grid(row=0, column=0)
frame_2.grid(row=0, column=1)
frame_3.grid(row=0, column=2)


# 创建标签
type_label = Label(frame_1, text="算法选择")
type_label.grid(row=0, column=0)

input_label = Label(frame_2, text="需要hash加密的字符串")
input_label.grid(row=0, column=0)

result_label = Label(frame_2, text="结果输出")
result_label.grid(row=1, column=0)

#  创建列表组件
algorithm_type_list = ["SHA1", "SHA224", "SHA256", "SHA384", "SHA512", "MD5"]
algorithm_type_list_componet = Listbox(frame_1)          
# 列表部件插入数据
for item in algorithm_type_list:                 
    algorithm_type_list_componet.insert(0, item)
algorithm_type_list_componet.grid(row=1, column=0)


# 创建数据录入框
input_text = Text(frame_2, width=35, height=10)
input_text.grid(row=0, column=1)

# 创建结果显示框
ouput_text = Text(frame_2, width=35, height=10)
ouput_text.grid(row=1, column=1)

# 创建按钮
str_trans_to_hash_button = Button(frame_3, text="hash加密", bg="lightblue", width=10, command=string_to_hash)
str_trans_to_hash_button.grid(row=0, column=0)

# 循环
root.mainloop()

总结

鼓励自己积极发文中,文章也没啥用,只有个范例可以供人参考下。急用做小工具倒是可以做做,正式点的还是试试QT。GUI开发最大的难点就是布局,怎么布都难受,特别是习惯了现在的web前端的。

  Python知识库 最新文章
Python中String模块
【Python】 14-CVS文件操作
python的panda库读写文件
使用Nordic的nrf52840实现蓝牙DFU过程
【Python学习记录】numpy数组用法整理
Python学习笔记
python字符串和列表
python如何从txt文件中解析出有效的数据
Python编程从入门到实践自学/3.1-3.2
python变量
上一篇文章      下一篇文章      查看所有文章
加:2021-07-15 16:07:41  更:2021-07-15 16:08:34 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/4 9:55:16-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码