Python实现密码强度校验程序:规则与代码详解

程一诺
程一诺
发布时间:2026-10-14| 2人浏览过
原创

本文介绍如何使用Python编写一个密码强度校验程序。程序依据密码长度(低于8位、8-16位、16位以上)以及是否包含数字、字母和特殊字符进行综合评分,将密码分为低、中、高三个等级。代码实现了循环输入、空值检查及字符类型统计,并在最后给出针对低中等级密码的具体优化建议,如强制包含三种字符、字母开头及长度不低于16位。

Python密码强度校验程序介绍

程序介绍

本程序利用

1.密码必须由数字、字母及特殊字符三种组合

2.密码只能由字母开头

3.密码长度不能低于16位

来判断密码程度。

首先,把可输入的字符写进去:

定义允许的特殊字符与字母数字集合


symbols = r'''`!@#$%^&*()_+-=/*{}[]\|;:?/<>'''
chars = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'
nums = '0123456789'

然后开始循环并判断密码长度:

实现密码长度分级逻辑


while 1:
  print('--------------密码安全级别检查-------------------')
  passwd = input('请输入需要检查的密码组合:')
  length = len(passwd)
  while passwd.isspace() or length == 0:
    passwd = input('您输入的密码为空,请重新输入:')
  if length <= 8:
    flag_len = 1
  elif 8< length < 16:
    flag_len = 2
  else:
    flag_len = 3
  flag_con = 0

然后判断字符:

统计密码中各类字符的存在情况


for each in passwd:
    if each in symbols:
      flag_con += 1
      break
  for each in passwd:
    if each in chars:
      flag_con += 1
      break
  for each in passwd:
    if each in nums:
      flag_con += 1
      break

最后评定密码,并给出建议:

综合评定密码等级并输出优化建议


while True:
    print('您的密码安全级别评定为:',end='')
    if flag_len == 1 or flag_con == 1:
      print('低')
    elif flag_len == 2 or flag_con == 2:
      print('中')
    else:
      print('高')
      print('请继续保持!')
      break
    print('请按以下方式提升您的密码安全级别:\n\
    \t1.密码必须由数字、字母及特殊字符三种组合\n\
    \t2.密码只能由字母开头\n\
    \t3.密码长度不能低于16位')
    break

运行结果

以上就是Python设计密码强度校验程序的详细内容,更多关于Python密码强度检验的资料请关注本站其它相关文章!

相关标签:

免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。

Python 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。