密码生成器

目录

一、介绍

二、tkinter

1.tkinter (Tk interface,tk 接口)

2.tkinter 的模块组成:

三、本次利用 tkinter 编写编程流程:

1.导入 tkinter 模块。

2.创建一个顶层窗口。

3.创建组件。

4.在窗口上布局组件。

5.事件处理。

6.执行主循环。

四、创建一个简单顶层窗口

程序:

五、组件

1.组件名称:

2.组件常用属性:

 3.组件布局管理方法:

六、按钮

按钮组件 Button

七、输入框

Entry 输入框组件

八、复选框

Checkbutton 复选框(多选框)组件

九、心得 


一、介绍

密码生成器( Password Generator )是一种软件程序,可以自动生成难以破解、
随机性较强、安全性好的密码。它可以帮助用户生成复杂、安全的密码,为网络
账户提供有效的保护。
目前,密码生成器的工作原理是,先将用户的特征信息(如用户名,用户类型,
IP等)作为输入,然后再从一个大的字典(字符集)中抽取出定数量的字符列
表,最后以这些字符组成,个安全而复杂的密码。
在帮助用户设计密码方面,密码生成器可以提供多种可选择的选项,除了可以选
择密码长度、字符范围(如字母大小写、数字、符号等)外,还可以根据用户的
需要,设定每次生成的密码都复杂、难以破解。
此外,密码生成器还可以帮助用户检测密码安全等级,调整密码的面板,以帮助
用户快速设定、修改密码,使用户只需点击几下即可获取安全密码。
密码生成器将越来越受到大家的重视,可以有效提高账号安全,也是网络安全防
护上不可缺少的环,让大家更加放心。
因此,拥有密码生成器,不仅可以帮助
用户安全保护自己的网络账号,还可以帮助用户享受更加安全的网络环境。

二、tkinter

1.tkinter (Tk interface,tk 接口)

tkinter是 Tk 图形用户界面工具包标准的 Python 接口。tkinter是 Python 的标准 GUI 库,支持跨平台的图形用户界面应用程序开发,包括 Windows、

LINUX、Unix和Macintosh 操作系统。tkinter 的特点是简单实用。tkinter 是 Python 语言的标准库之一,Python 自带的IDLE 就是采用它开发的。tkinter 开发的图形界面,其显示风格是本地化的。tkinter 适用于小型图形界面应用程序的快速开发。本书主要基于 kinter,阐述图形用户界面应用程序开发的主要流程。

2.tkinter 的模块组成:

tkinter 由若干的模块组成:_tkinter、tkinter 和 tkinter.constants 等。tkinter 是二进制扩展模块,提供了对 Tk 的低级接口,应用级程序员不会直接使用tkinter通常是一个共享库(或DLL),但是在一情况下也可被 Python 解释器静态链接。tkinter 是主要使用的模块,导人 tkinter 时,会自动导人tkinter.constants。tkinter.constants模块定义了许多常量。导人 tkinter 模块一般采用以下方式。

import tkinter:导入tkinter 模块。

import tkinter as tk:导入tkinter 模块为tk。

from tkinter import*:导入tkinter 模块的所有内容

三、本次利用 tkinter 编写编程流程:

1.导入 tkinter 模块。

由于 tkinter 模块已经内置在 Python 3 中,使用之前只需要使import 语句将其导入即可。如:

import tkinter as tk

from tkinter import *

2.创建一个顶层窗口。

顶层窗口实际上是一个普通窗口,包括一个标题栏和窗口管理器所提供的窗口装饰部分,如最大化、最小化按钮等。顶层窗口必须在布局管理器、组件等之前创建。

3.创建组件。

创建组件对象,并设置组件相关属性。

4.在窗口上布局组件。

可以直接在顶层窗口上布局相关组件,也可以先创建 frame框架架,并在其上布局相关组件,然后在顶层窗口上布局 frame 框架。

5.事件处理。

首先定义事件发生时需要执行的函数,然后将此丽数绑定到特定组件的事件上。

6.执行主循环。

显示窗口,等待鼠标、键盘等各种事件消息

 

四、创建一个简单顶层窗口

程序如下:

# tkinter_topwin.py    # coding = utf - 8

import tkinter

# 创建顶层窗口

topwin = tkinter.Tk()

# 初始化窗口大小

topwin. geometry('250x50')

# 设置窗口标题

topwin.title(‘顶层窗口’)

# 进入主循环

topwin.mainloop()

 

#创建窗口
topwin=tkinter. Tk()
#初始化窗口大小
topwin. geometry( '1000x100')
#设置窗口标题
topwin. title( '顶层窗口')#进入主循环

 

 

五、组件

1.组件名称:

2.组件常用属性:

 3.组件布局管理方法:

六、按钮

按钮组件 Button

tkinter 的按钮组件 Button 对象用于监听用户行为,当按钮被按下时,自动调用与其绑定的函数。按钮上可以放置文本或图片。其创建的格式为 tkinter. Button(父对象,属性列表)。

import tkinter

import tkinter.messagebox

#创建函数,将被绑定到按钮的单击事件中

def bindFun( ) :

tkinter.messagebox.showinfo("按钮事件测试","成功!")

#主程序

# 创建顶层窗口

topwin = tkinter.Tk()

# 初始化窗口大小

topwin.geometry('250x100')

# 设置窗口标题

topwin.title('按钮测试')

# 创建按钮

button1 = tkinter.Button(topwin, text ="测试按钮",command = bindFun)

import tkinter
from tkinter import messagebox

#创建函数。将被绑定到按钮的单击事件中
def bindFun( ) :
tkinter.messagebox. showinfo("按钮事件测试"人"成功!")

#创建顶层窗口
topwin=tkinter.Tk(),
#初始化窗口大小
topwin.geometry('250x250')
#设置窗口标题
topwin.title('顶层窗口')#进入主循环

#创建按钮
button1 = tkinter.Button(topwin,text = "测试按钮")
button1.grid(row=0,column=0)

topwin.mainloop()#进入主循环

 

 

七、输入框

Entry 输入框组件

Entry 输入框组件就是用来接收用户输入的单行编辑器。可以为 Entry 组件设置默认值,也可以禁止用户输入。如果禁止输入,用户就不能通过键盘输人来改变输入框中的值了。当输入框中的内容显示不下时,它会自动向后滚动。其创建格式为:tkinter.Entry(父对象,属性列表)。

import tkinter# 创建顶层窗口
topwin = tkinter.Tk()
# 初始化窗口大小
topwin. geometry('230x80')
# 设置窗口标题
topwin.title("输入框测试")
#创建标签
tkinter.Label(topwin, text ="姓名").grid(row = 0)
tkinter.Label(topwin, text ="学号").grid(row = 1, column = 0)
tkinter.Label(topwin,text = "测试").grid(row = 2)
#创建输入框
el = tkinter.Entry(topwin)
e2 = tkinter.Entry(topwin)
e3 = tkinter.Entry(topwin, state = tkinter.DISABLED)
el.grid(row = 0,column = 1)
e2. grid(row = 1,column = 1)
e3. grid(row = 2,column = 1)
# 进入主循环
topwin. mainloop()

 

​
import tkinter
from tkinter import messagebox

#创建顶层窗口
topwin = tkinter.Tk(
#初始化窗口大小
topwin.geometry("250x250")
#设置窗口标题
topwin.title('顶层窗口')#进入主循环

#创建标签
tkinter.Label(topwin, text ="姓名").grid(row= 0)
tkinter.Label(topwin, text ="学号").grid(row=1,coLumn= 0)
tkinter.Label(topwin,text ="测试").grid(row = 2)

#创建输入框
el = tkinter.Entry(topwin)
e2 = tkinter.Entry(topwin) 
e3 = tkinter.Entry(topwin,state = tkinter.DISABLED)
el.grid(row=0,column=1)
e2.grid(row=1,column=1)
e3.grid(row=2,column=1)

topwin.mainloop()#进入主循环

​

 

 

八、复选框

Checkbutton 复选框(多选框)组件

Checkbutton 复选框(多选框)组件有两种状态表示选中或未选中。选中时,其 variable 属性值为 1,否则其值为 0也可以通过 onvalue 和 offvalue 两个属性分别设置勾选和不勾选时的任何类型值

command:指定Checkbutton 的回调函数(改变状态时调用)。

indicatoron:默认为1,选择状态为打;设置为0,则选择状态为按下按钮。

selectcolor 和 selectimage:选择时的颜色(默认为red')和图像(可指定)

offrelief:指定未选时的3D样式和值。默认为 tkinter.RAISED。

offvalue和onvalue:指定未选中和选中时值。默认分别为0和1。

Variable:绑定IntVar 对象到的选择状态值offvalue和onvalue。

import tkinter

import tkinter.messagebox

import tkinter
import tkinter.messagebox


def checkselect():
    tkinter.messagebox.showinfo('状态值是', var.get())
def checkLanguage( ):
    tkinter.messagebox. showinfo( '选中的语言',v.get( ))

# 创建顶层窗口
topwin = tkinter.Tk()
# 初始化窗口大小
topwin.geometry('250x100')
# 设置窗口标题
topwin.title('复选框测试')

#通过 var.get()来获取其的状态,勾选为 1 未勾选为 0
var = tkinter.IntVar()
# variable将该复选框的状态赋值给一个变量
check1 = tkinter.Checkbutton(topwin,text ="复选框测试",variable = var, command = checkselect)
check1. select()
check1. pack(anchor = tkinter. W)

v = tkinter.StringVar()
v. set('Java')# 设置为 offvalue,默认不选中
check2 = tkinter.Checkbutton(topwin, variable = v,text='勾选为 Python,否则为 Java!',onvalue ='Python',offvalue ='Java',command = checkLanguage)

check2. pack(anchor = tkinter. W)
topwin. mainloop()

 

import tkinter
import string 
import random
from tkinter import messagebox

def mcode():
code=""   #拥来保存密 码的字符串
char=""   #密码字符集一 开始可以设定为空字符串
if vup.get():
   char+=string.ascii_ uppercase
if vLow.get():
   char+=string.ascii_lowercase
if vnum.get():
   char+=string.digits
if vpun.get():
   char+=string.punctuation
leng=int(e1.get())
for i in range(0,Leng):
    code+=random.choice(char)
tkinter.messagebox.showinfo("密码",code)

#创建窗口
topwin=tkinter.Tk()
#初始化窗口大小
topwin.geometry('1000x100')
#设置窗口标题
topwin.title('顶层窗口')#进入主循环

#输入框
#输入框标签
tkinter.Label(topwin,text ="密码长度: ").grid(row = 0)
tkinter.Label(topwin,text ="字符类型: ").grid(row = 1)
#创建输入框
e1 = tkinter.Entry (topwin)
e1.grid(row=0,column=1,columnspan=3)

#复选框
vup = tkinter.IntVar()#"大写"框的状态
vLow = tkinter.IntVar()#"小写"框的状态
Vnum = tkinter.IntVar()# "数字"框的状态
vpun = tkinter.IntVar()#"特殊符号"框的状态

#创建复选框
uper = tkinter.Checkbutton(topwin,text ="大写",variable = vup)#"大写"框
lower = tkinter.Checkbutton(topwin,text ="小写",variable = vlow)#"小写"框
nun = tkinter.Checkbutton(topwin,text ="数字",variable = vnum)#"数字"框
pun = tkinter.Checkbutton(topwin,text ="特殊符号",variable = vpun)#"特殊符号 "框
共复选框布局
uper.grid(row=1,column=1)
lower.grid(row=1,column=2)
nun.grid(row=1,column=3)
pun.grid(row=1,column=4)

#按钮
button1 = tkinter.Button(topwin,text = "提交",command=mcode)
button1.grid(row=2,column=4)

topwin.mainloop()#进入主循环

 

 

九、心得 

做密码生成器的感受是多样化的,包括挑战、创造性和成就感。

首先,制作密码生成器是一种挑战。密码学是一个复杂的领域,需要深入理解密码生成、加密和解密的过程。在制作密码生成器时,需要确保生成的密码既安全又易于记忆,这需要平衡多个因素,如密码长度、字符类型和复杂性等。因此,制作密码生成器需要具备扎实的编程技能和密码学知识。

其次,制作密码生成器是一种创造性活动。在密码生成器的开发过程中,需要不断地尝试、调试和优化,以找到最合适的解决方案。这需要发挥想象力和创造力,不断地探索和创新。同时,密码生成器也可以作为一项创新性的项目,用于展示编程技能和解决问题的能力。

最后,制作密码生成器是一种成就感。当密码生成器成功地生成出安全、易记的密码时,会感到一种满足和自豪感。这不仅是因为解决了问题,而且因为能够为人们提供便利和安全的解决方案。此外,如果密码生成器被广泛使用并得到认可,也会带来一种成就感。

总之,制作密码生成器是一种既有挑战性又有创造性的活动,能够带来成就感和满足感。同时,这也是一个学习和提高编程技能的机会,能够更好地理解和应用密码学知识。

  • 36
    点赞
  • 40
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值