您当前的位置: 首页 >  Python

轻松学Python

暂无认证

  • 0浏览

    0关注

    317博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

利用Python检验用户输入密码的复杂度,非常简单

轻松学Python 发布时间:2022-07-13 14:47:30 ,浏览量:0

今天分享一下用Python检测用户输入密码的复杂度,灰常简单!

密码强度检测规则:

  • 至少包含一个数字
  • 至少包含一个大写字母
  • 长度至少 8 位

主要知识点

  • while 循环
  • 推导式
  • 列表 any 函数
  • 命令行 input

代码部分

密码强度检测

1、首先创建一个 python 文件

导入系统包

import platform

密码强度检测规则

  1. 至少包含一个数字
  2. 至少包含一个大写字母
  3. 长度至少 8 位

每天打印一词,激励一下自己。

print("人生苦短,我用Python")

输入密码

while True:
    password = input("请输入待检测密码: ")

列表推导式使用

print("数字检测: ", [i.isdigit() for i in password])
print("大写字母检测: ", [i.isupper() for i in password])
print("密码长度: ", len(password))

是否有数字, 推导式检测。

hasNumber = any([i.isdigit() for i in password])

是否有大写字母, 推导式检测。

hasUpper = any([i.isupper() for i in password])

密码检测

if hasNumber and hasUpper and len(password) >= 8:
    print("密码符合规则, 检查通过")
    break
else:
    print("密码校验未通过, 请重新输入")

2、运行结果

请输入待检测密码: 123213
数字检测:  [True, True, True, True, True, True]
大写字母检测:  [False, False, False, False, False, False]
密码长度:  6
密码校验未通过, 请重新输入
请输入待检测密码: abc1234
数字检测:  [False, False, False, True, True, True, True]
大写字母检测:  [False, False, False, False, False, False, False]
密码长度:  7
密码校验未通过, 请重新输入
请输入待检测密码: Abc34567
数字检测:  [False, False, False, True, True, True, True, True]
大写字母检测:  [True, False, False, False, False, False, False, False]
密码长度:  8
密码符合规则, 检查通过

全部代码

import platform
 
print("人生苦短,我用Python")
 
while True:
    password = input("请输入待检测密码: ")
 
    print("数字检测: ", [i.isdigit() for i in password])
    print("大写字母检测: ", [i.isupper() for i in password])
    print("密码长度: ", len(password))
 
    hasNumber = any([i.isdigit() for i in password])
 
    hasUpper = any([i.isupper() for i in password])
 
    if hasNumber and hasUpper and len(password) >= 8:
        print("密码符合规则, 检查通过")
        break
    else:
        print("密码校验未通过, 请重新输入")

兄弟们,来都来了,点个关注在走呗!

关注
打赏
1663832040
查看更多评论
立即登录/注册

微信扫码登录

1.6493s