首页 > 试题广场 >

密码强度检查

[编程题]密码强度检查
  • 热度指数:284 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 256M,其他语言512M
  • 算法知识视频讲解
\hspace{15pt}在网络安全中,评估密码的强度是重要的基本操作。请根据给定的密码字符串,判断其强度级别。
\hspace{15pt}强度评估规则如下:
\hspace{23pt}\bullet\, 如果密码长度小于 8,则强度为 \texttt{Weak}
\hspace{23pt}\bullet\, 否则,检查密码中包含的字符类型(共四种):小写字母(\texttt{a-z})、大写字母(\texttt{A-Z})、数字(\texttt{0-9})和特殊字符(非字母、非数字的可见字符);
\hspace{23pt}\bullet\, 如果包含所有四种类型,则强度为 \texttt{Strong}
\hspace{23pt}\bullet\, 如果包含正好三种类型,则强度为 \texttt{Medium}
\hspace{23pt}\bullet\, 其他情况,强度为 \texttt{Weak}

\hspace{15pt}现在,给定多个密码字符串,请为每个密码输出其强度级别。

【名词解释】
\hspace{15pt}可见字符集为 ASCII 码在 33126 范围内的可见字符。您可以参阅下表获得其详细信息(您可能关注的内容是,这其中不包含空格、换行)。

../图片/AllAscii.png

输入描述:
\hspace{15pt}每个测试文件均包含多组测试数据。第一行输入一个整数 T\left(1\leqq T\leqq 100\right) 代表数据组数,每组测试数据描述如下:
\hspace{15pt}在一行上输入一个由可见字符集构成的字符串 s \left(1 \leqq {\rm length}(s) \leqq 20\right),表示密码。


输出描述:
\hspace{15pt}对于每一组测试数据,新起一行。输出一个字符串,表示该密码的强度级别(\texttt{Strong}\texttt{Medium}\texttt{Weak})。
示例1

输入

3
Abc123!@
abc123
Password1!

输出

Strong
Weak
Strong
头像 横竖撇捺子
发表于 2025-08-23 09:56:16
import java.util.Scanner; import java.util.HashSet; import java.util.Set; // 注意类名必须为 Main, 不要有任何 package xxx 信息 public class Main { public static 展开全文
头像 Silencer76
发表于 2025-08-25 20:47:35
题目链接 密码强度检查 题目描述 评估密码字符串 的强度,规则如下: 如果密码长度小于 8,则强度为 Weak。 否则,检查密码中包含的字符类型(小写字母、大写字母、数字、特殊字符): 包含所有四种类型,强度为 Strong。 包含正好三种类型,强度为 Medium。 其他情况(一或两种),强 展开全文
头像 雾隐游龙
发表于 2025-08-26 17:42:43
#include <iostream> #include<string> using namespace std; int main() { int t; cin>>t; for(int i=0;i<t;i++) { 展开全文