本篇为Python强密码生成器零基础实战教程,教你用Python快速制作一个安全可靠的强密码生成工具,支持自定义长度、自动包含大小写字母+数字+特殊符号,新手轻松掌握random与string模块用法!

图1:工具核心功能与操作流程
一、工具功能说明
这是一款专为Python新手打造的实用小工具,基于Python内置random和string模块开发,无需安装任何第三方库,一键生成符合网络安全标准的高强度随机密码,彻底告别简单密码、重复密码带来的安全风险,是日常办公、账号注册的必备小工具:
- 支持自定义密码长度,默认生成12位高强度密码
- 自动组合:大写字母、小写字母、数字、特殊符号四类字符
- 纯随机算法生成,每次结果不同,安全等级拉满
- 智能校验:自动拦截负数、0、非数字等非法输入
- 支持连续生成密码,输入0即可安全退出程序
- 生成结果直接展示,一键复制即可使用
二、完整代码实现
以下代码可直接复制运行,全注释讲解,零基础也能轻松看懂:
# 强密码生成器 | 基于Python内置模块
import random
import stringdef generate_password(length=12):
“””生成随机强密码,默认长度12位”””
# 定义四类字符集
lower_letters = string.ascii_lowercase # 小写字母 a-z
upper_letters = string.ascii_uppercase # 大写字母 A-Z
digits = string.digits # 数字 0-9
symbols = string.punctuation # 特殊符号# 合并所有字符集
all_chars = lower_letters + upper_letters + digits + symbols
# 随机选取指定长度的字符(不重复)
password = random.sample(all_chars, length)
# 将列表拼接为完整密码字符串
password = ”.join(password)
return passworddef main():
“””主程序入口,处理用户输入”””
print(“=” * 40)
print(” 强密码生成器 v1.0″)
print(” 包含:大小写字母+数字+特殊符号”)
print(” 输入 0 退出程序”)
print(“=” * 40)while True:
try:
# 获取用户输入的密码长度
len_input = input(“\n请输入密码长度:”)
length = int(len_input)if length == 0:
print(” 感谢使用,程序已退出!”)
break# 校验密码长度(至少6位,避免弱密码)
if length < 6:
print(” 长度过短!请输入≥6的数字”)
continue# 生成并打印密码
pwd = generate_password(length)
print(f” {length}位强密码:{pwd}”)
import random
import stringdef generate_password(length=12):
“””生成随机强密码,默认长度12位”””
# 定义四类字符集
lower_letters = string.ascii_lowercase # 小写字母 a-z
upper_letters = string.ascii_uppercase # 大写字母 A-Z
digits = string.digits # 数字 0-9
symbols = string.punctuation # 特殊符号# 合并所有字符集
all_chars = lower_letters + upper_letters + digits + symbols
# 随机选取指定长度的字符(不重复)
password = random.sample(all_chars, length)
# 将列表拼接为完整密码字符串
password = ”.join(password)
return passworddef main():
“””主程序入口,处理用户输入”””
print(“=” * 40)
print(” 强密码生成器 v1.0″)
print(” 包含:大小写字母+数字+特殊符号”)
print(” 输入 0 退出程序”)
print(“=” * 40)while True:
try:
# 获取用户输入的密码长度
len_input = input(“\n请输入密码长度:”)
length = int(len_input)if length == 0:
print(” 感谢使用,程序已退出!”)
break# 校验密码长度(至少6位,避免弱密码)
if length < 6:
print(” 长度过短!请输入≥6的数字”)
continue# 生成并打印密码
pwd = generate_password(length)
print(f” {length}位强密码:{pwd}”)
except ValueError:
print(” 输入错误!请输入有效数字”)
if __name__ == “__main__”:
main()

图2:控制台运行效果演示
三、运行效果演示
运行代码后,只需输入数字即可生成对应长度的强密码,操作简单、直观、高效:
========================================
强密码生成器 v1.0
包含:大小写字母+数字+特殊符号
输入 0 退出程序
========================================请输入密码长度:12
12位强密码:9s7K#p2X@q9L请输入密码长度:16
16位强密码:G5$9rT2&sF7kP1@8请输入密码长度:8
8位强密码:7x9K#s2F请输入密码长度:0
感谢使用,程序已退出!
强密码生成器 v1.0
包含:大小写字母+数字+特殊符号
输入 0 退出程序
========================================请输入密码长度:12
12位强密码:9s7K#p2X@q9L请输入密码长度:16
16位强密码:G5$9rT2&sF7kP1@8请输入密码长度:8
8位强密码:7x9K#s2F请输入密码长度:0
感谢使用,程序已退出!
四、核心知识点总结
- string模块:快速调用字母、数字、符号,不用手动输入
- random模块:sample()实现随机不重复取样,安全性更高
- 函数默认参数:length=12,不输入时自动生成12位密码
- join()字符串拼接:将随机字符列表合成完整密码
- 长度校验:限制最少6位,避免弱密码
- 异常处理:捕获非法输入,程序稳定不崩溃

图3:日常使用场景展示
五、扩展功能升级建议
学会基础版后,你可以继续扩展功能,让工具更强大:
- 密码保存功能:将生成的密码自动保存到txt文件
- 自定义符号:允许用户选择是否开启数字/符号
- 密码强度检测:实时显示当前密码安全等级
- 批量生成:一次生成多条密码供选择
- GUI图形界面:用Tkinter做可视化窗口
六、常见问题解答
在使用工具的过程中,新手常遇到以下问题,这里统一解答:
- Q:生成的密码字符可以重复吗?
A:可以,将random.sample()改为[random.choice(all_chars) for _ in range(length)]即可实现字符重复 - Q:可以自定义特殊符号吗?
A:可以,手动定义symbols = “!@#$%^&*()”,仅使用指定符号,安全性更高 - Q:密码长度有上限吗?
A:无上限,可根据需求生成任意长度的密码,建议12位以上 - Q:支持批量生成密码吗?
A:基础版支持单个生成,可扩展为批量生成,适合多账号密码需求
小贴士:
1. 本文是「Python实战案例10篇技术专栏」的第05篇,聚焦Python安全工具开发
2. 工具基于Python内置模块,无需额外安装库,打开即用,兼容性强
3. 多动手修改代码、扩展功能,是提升Python编程能力的最佳方式
4. 后续可学习更多Python安全工具,提升账号安全防护能力
1. 本文是「Python实战案例10篇技术专栏」的第05篇,聚焦Python安全工具开发
2. 工具基于Python内置模块,无需额外安装库,打开即用,兼容性强
3. 多动手修改代码、扩展功能,是提升Python编程能力的最佳方式
4. 后续可学习更多Python安全工具,提升账号安全防护能力
本文是Python实战案例10篇技术专栏的第05篇,专为Python新手打造的Python强密码生成器教程。
更多Python官方学习资源,可参考Python random官方文档,这是Python随机数处理的权威参考依据。
本文为「小白编程笔记」原创 · Python零基础入门实战系列 | 未经授权,禁止转载
文章标签:
Python强密码生成器
Python安全工具
Python实战案例
random模块
Python入门项目
Python强密码生成器
Python安全工具
Python实战案例
random模块
Python入门项目

渝公网安备50022402001073号
Pingback: Python实战案例:10篇经典技术专栏全目录 - 小白 编程 笔记
Pingback: Python 实战案例:10 篇经典技术专栏全目录,零基础从入门到实战 - 小白 编程 笔记