返回顶部
首页 > 资讯 > 后端开发 > Python >详解如何通过Python制作一个密码生成器
  • 368
分享到

详解如何通过Python制作一个密码生成器

Python实现密码生成器Python密码生成器Python密码 2023-05-19 08:05:11 368人浏览 泡泡鱼

Python 官方文档:入门教程 => 点击学习

摘要

目录原由编程思路代码效果如下补充原由 定期更换密码是一种非常重要的安全措施,这种做法可以有效地保护你的账户和个人信息不受黑客和网络攻击者的侵害。 密码泄露是一个非常普遍的问题,许多人

原由

定期更换密码是一种非常重要的安全措施,这种做法可以有效地保护你的账户和个人信息不受黑客和网络攻击者的侵害。

密码泄露是一个非常普遍的问题,许多人的账户和密码经常会被泄露出来,导致个人信息被盗用、金融损失、恶意软件感染等严重问题。定期更换密码可以减少这种风险,因为即使你的密码被盗了,攻击者也只能获得你的信息和权限一段时间。

此外,定期更换密码还可以提高你的账户安全性,因为许多人使用相同的密码和用户名登录多个网站和服务,如果一个密码被盗,黑客可以轻松地访问其他帐户。通过定期更换密码,可以确保你的密码不会被黑客用于其他服务,从而提高你的安全性。

编程思路

首先导入了 python 的 tkinter 模块和之前编写的生成随机密码的函数。然后,定义了一个 generate_callback 回调函数,用于生成随机密码,并将其显示在密码编辑框中。

在 generate_callback 函数中,首先使用 passWord_length_var.get() 获取用户输入的密码长度,然后调用之前编写的 generate_password 函数生成密码。最后,使用 password_edit.delete() 和 password_edit.insert() 方法将密码显示在密码编辑框中。

在主程序中,使用 tk.Label 和 tk.Entry 创建标签和输入框,用于输入密码长度。然后,使用 tk.Button 创建生成按钮,并将 generate_callback 函数指定为回调函数。接着,使用 tk.Label 和 tk.Entry 创建密码编辑框,用于显示生成的密码。

最后,使用 tk.mainloop() 进入主事件循环,等待用户操作。当用户点击生成按钮时,程序将自动调用 generate_callback 函数生成随机密码,并将其显示在密码编辑框中。

代码

import tkinter as tk
import random
import string
 
def generate_password(length):
    # 可以自定义密码中包含的字符集
    characters = string.ascii_letters + string.digits
    # 生成指定长度的随机密码
    password = ''.join(random.choice(characters) for i in range(length))
    return password
 
def generate_callback():
    # 获取密码长度
    password_length = int(password_length_var.get())
    # 生成密码
    password = generate_password(password_length)
    # 将密码显示在编辑框中
    password_edit.delete(0, tk.END)
    password_edit.insert(0, password)
 
# 创建主窗口
root = tk.Tk()
root.title("生成随机密码")
 
# 创建标签和输入框,用于输入密码长度
password_length_label = tk.Label(root, text="请输入要生成的密码长度:")
password_length_label.grid(row=0, column=0, padx=5, pady=5)
password_length_var = tk.StringVar()
password_length_edit = tk.Entry(root, textvariable=password_length_var)
password_length_edit.grid(row=0, column=1, padx=5, pady=5)
 
# 创建生成按钮
generate_button = tk.Button(root, text="生成密码", command=generate_callback)
generate_button.grid(row=1, column=0, padx=5, pady=5)
 
# 创建密码编辑框,用于显示生成的密码
password_edit_label = tk.Label(root, text="生成的密码:")
password_edit_label.grid(row=2, column=0, padx=5, pady=5)
password_edit = tk.Entry(root)
password_edit.grid(row=2, column=1, padx=5, pady=5)
 
# 进入主事件循环
root.mainloop()

效果如下

补充

除了上文的方法,小白还为大家准备了其他的Python实现密码生成的方法,需要的可以参考一下

python 随机生成密码

# 这里主要是以ascii码去表示上诉的字符串
#表示26个字母,查询ascci码的表示是65, 90,但是我是使用range表示,左闭右开,步长为一
import random
total_len = 12 #密码总长为12 
daxiezimu = range(65,91, 1)  # 定义26个大写字母列表
xiaoxiezimu = range(97, 123, 1)  # 定义26个大写字母列表
shuzi = range(48, 58, 1) # 定义0-9个数字
teshuzifu = [64, 63, 96]  # 定义特殊字符@ ? \ 特殊字符就给了一个列表,因为assci码没有连续的
random3_list = [daxiezimu, xiaoxiezimu, teshuzifu]
for i in random3_list: # 循环需要随机生成0-3位的大小写字母跟特殊字符
    for j in range(random.randint(1, 3)): # 随机循环0-3的次数
       res.append(chr(random.choice(i))) # chr将ascii码转为字符 random.choice(i)随机从i中取出一个数
x = total_len - len(res) #需要生成x位长度的数字
for k in range(x):  #需要生成多少位的数字就循环几次
    res.append(chr(random.choice(shuzi)))
random.shuffle(res)   # random.shuffle(列表对象)  用来打乱列表

Python实现密码生成器

import random
import string

from Gooey import GooeyParser,Gooey
@Gooey(encoding='utf8',program_name='强密码生成器',program_description='用于生成包含大小写字母、数字、特殊符号的强密码',optional_cols=1)
def stronge_password():
parse = GooeyParser(description='用于生成包含大小写字母、数字、特殊符号的强密码')
parse.add_argument('数量',widget='TextField')
parse.add_argument('长度',widget='TextField')
parse.add_argument('数字',widget='Dropdown',choices={"是":1,"否":0},default='是')
parse.add_argument('大写字母',widget='Dropdown',choices={"是":1,"否":0},default='否')
parse.add_argument('小写字母',widget='Dropdown',choices={"是":1,"否":0},default='否')
parse.add_argument('特殊符号',widget='Dropdown',choices={"是":1,"否":0},default='否')
parse.add_argument('去除词',widget='TextField',default='None')
args = parse.parse_args()
if args.数字 == "是":
digits = list(string.digits.strip())
else:
digits = []
if args.大写字母:
upper = list(string.ascii_uppercase)
else:
upper = []
if args.小写字母:
lower = list(string.ascii_lowercase)
else:
lower = []
if args.特殊符号:
symbol = list("~!@#$%^&*()_+{}[]/?")
else:
symbol = []
if args.去除词 != 'None':
stop_word = list(args.去除词.strip())
else:
stop_word = []
letter_list = digits + upper + lower + symbol
for item in stop_word:
if item in letter_list:
letter_list.remove(item)
for i in range(int(args.数量)):
result = ''.join([random.choice(letter_list) for i in range(int(args.长度))])
print(result)

if __name__ == '__main__':
stronge_password()

到此这篇关于详解如何通过Python制作一个密码生成器的文章就介绍到这了,更多相关Python密码生成器内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: 详解如何通过Python制作一个密码生成器

本文链接: https://lsjlt.com/news/212755.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 详解如何通过Python制作一个密码生成器
    目录原由编程思路代码效果如下补充原由 定期更换密码是一种非常重要的安全措施,这种做法可以有效地保护你的账户和个人信息不受黑客和网络攻击者的侵害。 密码泄露是一个非常普遍的问题,许多人...
    99+
    2023-05-19
    Python实现密码生成器 Python密码生成器 Python密码
  • 如何通过一篇文章了解Python中的生成器
    目录前言生成器也是迭代器生成器推导式无限生成器生成器实际用法1. 读取文件行2.读取文件内容高级生成器用法总结前言 生成器很容易实现,但却不容易理解。生成器也可用于创建迭代器,但生成...
    99+
    2024-04-02
  • 基于PyQT5制作一个二维码生成器
    个性化二维码的exe桌面应用的获取方式我放在文章最后面了,注意查收。通过执行打包后的exe应用程序可以直接运行生成个性化二维码。 开始之前先来看一下通过二维码生成器是如何生成个性化二...
    99+
    2024-04-02
  • Python利用wxPython制作一个有趣的验证码生成器
    目录1.引言2.正文3.实例分析4.总结1.引言 2.正文 CAPTCHA的应用场景主要是在需要验证用户身份或者防止恶意攻击的场景中,下面列举几个常见的应用场景: 用户登录验证:在...
    99+
    2023-05-18
    Python wxPython制作验证码生成器 Python 验证码生成器 Python 验证码 Python wxPython
  • python密码生成器如何使用
    今天小编给大家分享一下python密码生成器如何使用的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。使用方法随机生成N位密码。...
    99+
    2023-06-30
  • 如何使用HTML、CSS和JS制作随机密码生成器
    这篇文章主要介绍如何使用HTML、CSS和JS制作随机密码生成器,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!使用HTML、CSS和JavaScript制作的随机密码生成器写在前面的...
    99+
    2024-04-02
  • 如何在python中使用密码生成器
    本篇文章为大家展示了如何在python中使用密码生成器,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。python是什么意思Python是一种跨平台的、具有解释性、编译性、互动性和面向对象的脚本语言,...
    99+
    2023-06-14
  • 基于PyQt5如何制作一个gif动态图片生成器
    这篇文章的内容主要围绕基于PyQt5如何制作一个gif动态图片生成器进行讲述,文章内容清晰易懂,条理清晰,非常适合新手学习,值得大家去阅读。感兴趣的朋友可以跟随小编一起阅读吧。希望大家通过这篇文章有所收获!这个小工具制作的目的是为了将多张图...
    99+
    2023-06-28
  • 怎么在python中通过函数形式实现一个生成器
    本篇文章给大家分享的是有关怎么在python中通过函数形式实现一个生成器,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。python可以做什么Python是一种编程语言,内置了许...
    99+
    2023-06-14
  • 如何批处理制作二维码生成器
    这篇文章主要讲解了“如何批处理制作二维码生成器”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“如何批处理制作二维码生成器”吧!这个程序不能直接支持 Unicode, 同样不能直接支持任何双字节...
    99+
    2023-06-08
  • 如何通过一个注解实现MyBatis字段加解密
    目录简介模块使用方法配置项说明开源链接总结简介 mybatis-crypto 是一个基于 mybatis 插件机制实现的字段加解密组件,通过一个注解即可对敏感数据进行加解密处理。 支...
    99+
    2024-04-02
  • 详解Python如何生成优雅的二维码
    目录一、使用MyQR生成二维码(1)模块安装(2)生成一个图像二维码二、使用qrcode生成二维码(1)模块安装(2)更准确的生成二维码(3)读取二维码中的数据二维码作为一种信息传递...
    99+
    2024-04-02
  • 如何通过Python并发编程生成HTTP请求的二维码?
    在当今互联网时代,二维码已经成为了一种非常流行的信息传输方式。而在Python中,通过并发编程生成HTTP请求的二维码也成为了一项非常热门的技术。本文将介绍如何通过Python并发编程生成HTTP请求的二维码。 一、什么是并发编程? 在计...
    99+
    2023-09-21
    http 二维码 并发
  • react如何实现一个密码强度检测器详解
    目录前言使用组件编写数据结构解析流程解析底层代码解析其他总结前言 密码强度文件校验器; 注册帐号的时候我们需要对用户当前的密码强度进行一个评估,这个过程我们需要做一个检测器,最好写的...
    99+
    2024-04-02
  • 详解如何用PHP制作一个简单的日历(附代码)
    本篇文章给大家带来了关于PHP的相关知识,其中主要跟大家介绍怎么用PHP制作一个简单的日历,感兴趣的朋友下面一起来看一下吧,希望对大家有帮助。实例说明说到对日期和时间的处理,就一定要介绍一下日历程序的编写。但一提起编写日历,大多数读者都会认...
    99+
    2023-05-14
    php日历
  • 如何使用Python代码制作一个视频倒放神器
    这篇文章主要介绍了如何使用Python代码制作一个视频倒放神器,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。导语正常的视频如下倒放视频如下效果很赞吧,等你学会了这个,你才会发...
    99+
    2023-06-29
  • Python+PyQt5如何制作一个图片查看器
    这篇文章将为大家详细讲解有关Python+PyQt5如何制作一个图片查看器,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。实现方式一个最基本的照片查看器应该具有以下功能:载入图像缩放图像在窗口尺寸小于图像时...
    99+
    2023-06-29
  • 如何用Python制作一个C盘清理器
    今天小编给大家分享一下如何用Python制作一个C盘清理器的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。关于python的文...
    99+
    2023-07-05
  • 如何在android中制作一个方向轮盘详解
    目录先上效果图原理很简单,其实就是一个自定义的view计算滑块位置的原理:通用性很好的接口:小技巧:代码部分写在最后:先上效果图 原理很简单,其实就是一个自定义的view 通过观察...
    99+
    2024-04-02
  • 如何利用python将一个py文件变成一个软件详解
    目录前言一、第一步:写好文件二、第二步:生成程序1.安装库2.使用安装的库进行转化总结前言 本文重点说如何将py文件转化为exe文件,也就是windows电脑可以打开的文件,实现起来...
    99+
    2023-05-16
    py文件怎么变成exe 怎么将python文件转成软件 py文件转换成exe
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作