用Java 从键盘录入一个字符串作为密码,打印密码强度。 Abc@123" int n0 =0;// 大写字母个数 int n1 =0:// 小写字母个数 int n2=0://数字个数 int n3 =0: //其他字符的个数 判断密码强度:前提:长度大于8; 只有一类字符,则密码弱:有两类字符,密码一般;有三类字符,密码强;有四类字符,密码很强
时间: 2024-01-31 22:02:00 浏览: 65
好的,下面是Java代码实现:
```java
import java.util.Scanner;
public class PasswordStrength {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("请输入密码:");
String password = scanner.nextLine();
int n0 = 0, n1 = 0, n2 = 0, n3 = 0;
for (int i = 0; i < password.length(); i++) {
char c = password.charAt(i);
if (Character.isUpperCase(c)) {
n0++;
} else if (Character.isLowerCase(c)) {
n1++;
} else if (Character.isDigit(c)) {
n2++;
} else {
n3++;
}
}
if (password.length() < 8) {
System.out.println("密码长度小于8,密码弱");
} else if (n0 == password.length() || n1 == password.length() || n2 == password.length() || n3 == password.length()) {
System.out.println("只有一类字符,密码弱");
} else if ((n0 > 0 && n1 > 0) || (n0 > 0 && n2 > 0) || (n0 > 0 && n3 > 0) || (n1 > 0 && n2 > 0) || (n1 > 0 && n3 > 0) || (n2 > 0 && n3 > 0)) {
System.out.println("有两类字符,密码一般");
} else if (n0 > 0 && n1 > 0 && n2 > 0 && n3 > 0) {
System.out.println("有四类字符,密码很强");
} else {
System.out.println("有三类字符,密码强");
}
}
}
```
输入示例:
```
请输入密码:Abc@123
```
输出示例:
```
有四类字符,密码很强
```
请注意,此代码示例仅供参考,实际应用中还需要考虑更多的安全性问题。
阅读全文