【问题描述】 编写程序,对输入的密码(长度不超过28)进行强度检测。密码强度规定为: 1)含有数字字符; 2)含有小写字母; 3)含有大写字母; 4)密码长度不低于8; 5)至少含有~!@#$%^&*()_=-/,.?<>;:[]{}|\中的一个字符 规定密码满足上列任意条件即加一星,程序输出密码的星级 【输入形式】 长度在28以内的任意字符串。 【输出形式】 根据密码强度要求,输出密码强度星级,用整数表示

时间: 2024-03-10 16:47:03 浏览: 23
以下是Python的实现代码: ```python import re password = input() # 读入密码 # 初始星级为0 star = 0 # 检查密码是否含有数字字符,若有则加一星 if re.search(r'\d', password): star += 1 # 检查密码是否含有小写字母,若有则加一星 if re.search(r'[a-z]', password): star += 1 # 检查密码是否含有大写字母,若有则加一星 if re.search(r'[A-Z]', password): star += 1 # 检查密码长度是否不低于8,若是则加一星 if len(password) >= 8: star += 1 # 检查密码是否含有特殊字符,若有则加一星 if re.search(r'[~!@#$%^&*()_=-/,.?<>;:[]{}|\\]', password): star += 1 # 输出星级 print(star) ``` 以上代码使用了正则表达式进行密码的强度检测,可以满足题目要求。
相关问题

编写程序,对输入的密码(长度不超过28)进行强度检测。密码强度规定为: 1)含有数字字符; 2)含有小写字母; 3)含有大写字母; 4)密码长度不低于8; 5)至少含有~!@#$%^&*()_=-/,.?<>;:[]{}|\中的一个字符 规定密码满足上列任意条件即加一星,程序输出密码的星级

好的,我会根据你的要求编写一个密码强度检测程序。以下是 Python 代码实现: ```python import re password = input("请输入密码:") # 密码强度等级 level = 0 # 检测密码是否含有数字字符 if re.search(r"\d", password): level += 1 # 检测密码是否含有小写字母 if re.search(r"[a-z]", password): level += 1 # 检测密码是否含有大写字母 if re.search(r"[A-Z]", password): level += 1 # 检测密码长度是否不低于8 if len(password) >= 8: level += 1 # 检测密码是否含有特殊字符 if re.search(r"[~!@#$%^&*()_=-/,.?<>;:|{}\[\]]", password): level += 1 # 输出密码强度等级 print("密码强度等级为:", level) ``` 程序首先要求用户输入密码,然后利用正则表达式进行密码强度检测。逐条检测密码是否含有数字字符、小写字母、大写字母、长度不低于8和特殊字符中的任意一个,每满足一个条件就加一星。最后输出密码强度等级。

用python编写程序 输入密码字符串,判断密码强度

你好,我是C知道。以下是我的回答: 可以使用以下方法来判断密码强度: 1. 密码长度:密码长度应该至少为8个字符。 2. 大小写字母、数字和符号:密码应该包含大小写字母、数字和符号。 3. 避免常见密码:密码不应该是常见的密码,如"123456"或"password"。 4. 避免个人信息:密码不应该包含个人信息,如生日或姓名。 以下是一个用Python编写的程序,可以判断密码强度: ```python def check_password_strength(password): # 判断密码长度 if len(password) < 8: return "密码强度较弱,密码长度应至少为8个字符。" # 判断是否包含大小写字母、数字和符号 has_uppercase = False has_lowercase = False has_digit = False has_symbol = False for char in password: if char.isupper(): has_uppercase = True elif char.islower(): has_lowercase = True elif char.isdigit(): has_digit = True else: has_symbol = True if not (has_uppercase and has_lowercase and has_digit and has_symbol): return "密码强度较弱,密码应包含大小写字母、数字和符号。" # 判断是否为常见密码 common_passwords = ["123456", "password", "123456789", "12345678", "12345", "1234567", "1234567890", "qwerty", "abc123", "111111", "123123", "admin", "letmein", "welcome", "monkey", "login", "passw0rd", "starwars", "1234", "dragon", "football", "1234567898", "654321", "1234567899", "123321", "666666", "shadow", "master", "66666666", "qwertyuiop", "123456789a", "123456789b", "123456789c", "123456789d", "123456789e", "123456789f", "123456789g", "123456789h", "123456789i", "123456789j"] if password in common_passwords: return "密码强度较弱,密码为常见密码。" # 判断是否包含个人信息 if "birth" in password.lower() or "name" in password.lower(): return "密码强度较弱,密码包含个人信息。" # 密码强度较强 return "密码强度较强。" password = input("请输入密码:") print(check_password_strength(password)) ``` 希望这个程序能够帮助你判断密码强度。

相关推荐

最新推荐

recommend-type

Shell脚本实现自动输入密码登录服务器

主要介绍了Shell脚本实现自动输入密码登录服务器,本文使用expect来实现这个需求,讲解了expect的安装及使用脚本,需要的朋友可以参考下
recommend-type

python2练习题——编写函数,输入数字,判断是否是素数

定义 素数又称质数。一个大于1的自然数,除了1和它自身外,不能被其他自然数整除的数叫做质数;...(7)若质数p为不超过n( )的最大质数,则 。 (8)所有大于10的质数中,个位数只有1,3,7,9 素数密度公式 根据
recommend-type

商用密码产品认证-密码模块分级检测申请材料编写说明 - 初稿文档.docx

商用密码产品认证,在提交认证申请是需同步提交密码模块分级检测材料。...本文的目的是为初次编写《密码模块分级检测申请材料》的人提供基本的入门指引。对编写文档时用到基本的概念、编写思路和关键点会重点介绍。
recommend-type

VS2019编写C程序或者CUDA程序出现“无法启动程序,系统找不到指定的文件”问题的详细解决方法

主要介绍了VS2019编写C程序或者CUDA程序出现“无法启动程序,系统找不到指定的文件”问题的详细解决方法,文中通过图文的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起...
recommend-type

python实现用户名密码校验

主要为大家详细介绍了python实现用户名密码校验,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
recommend-type

STC89C51 简单时钟

STC89C51 简单时钟,叫你从基础开始学习单片机,
recommend-type

管理建模和仿真的文件

管理Boualem Benatallah引用此版本:布阿利姆·贝纳塔拉。管理建模和仿真。约瑟夫-傅立叶大学-格勒诺布尔第一大学,1996年。法语。NNT:电话:00345357HAL ID:电话:00345357https://theses.hal.science/tel-003453572008年12月9日提交HAL是一个多学科的开放存取档案馆,用于存放和传播科学研究论文,无论它们是否被公开。论文可以来自法国或国外的教学和研究机构,也可以来自公共或私人研究中心。L’archive ouverte pluridisciplinaire
recommend-type

MATLAB归一化方法大比拼:5种方法,哪种最适合你的数据?

![MATLAB归一化方法大比拼:5种方法,哪种最适合你的数据?](https://www.finebi.com/wp-content/uploads/2019/11/FineBI%E8%A1%8C%E4%B8%9A%E9%A9%BE%E9%A9%B6%E8%88%B1-1024x510.png) # 1. MATLAB归一化概述 归一化是一种数据预处理技术,用于将数据缩放到特定范围内,从而消除不同特征之间的尺度差异。在MATLAB中,有各种归一化方法可用于不同类型的数据和应用程序。 归一化的主要目的是: - 提高模型的训练效率和准确性,通过消除特征之间的尺度差异,使模型能够更有效地学习
recommend-type

failed to register layer: ApplyLayer exit status 1 stdout: stderr: archive/tar: invalid tar header

很抱歉听到这个问题。这个错误通常是由于Docker镜像损坏或Docker存储库中缺少所需的图层引起的。您可以尝试以下几种方法来解决这个问题: 1. 清理Docker镜像和容器:使用命令“docker system prune”清理不再使用的Docker对象。 2. 检查Docker存储库:确保您正在使用可靠的Docker存储库,并检查是否存在所有必需的图层。 3. 重新下载Docker镜像:如果您确定问题是由于损坏的Docker镜像引起的,则可以尝试重新下载Docker镜像。 4. 更新Docker版本:如果您使用的是旧版Docker,则可能会出现此问题。尝试更新到最新版本的Docke
recommend-type

Linux系统常用操作命令大全手册

附件是Linux系统常用操作命令大全手册,是 markdown格式,其中覆盖了Linux系统管理、文件操作、网络配置等多个方面,都是日常工作中非常常用的命令,欢迎大家下载学习使用!