”密码强度判断“第一个自己写的小东西
程序员文章站
2022-10-06 13:54:42
import java.util.Scanner; public class Texi { public static void main(String[] args) { //检查密码强度,密码最长为12个字符。规则为:长度小于等于6且只含有数字字符的强度为弱;长度超过10且同时包含数字、字母、和 ......
import java.util.scanner;
public class texi {
public static void main(string[] args) {
//检查密码强度,密码最长为12个字符。规则为:长度小于等于6且只含有数字字符的强度为弱;长度超过10且同时包含数字、字母、和数字字母以外的字符为强;其它为中。
scanner input=new scanner(system.in);
string password;
//判定条件的元素
char[] letter=new char[62];
for (int i=0; i<26; i++){
letter[i]=(char)(65+i);
letter[i+26]=(char)(97+i);
if(i<10) {
letter[i+52]=string.valueof(i).charat(0);;
}
}
string dege="**************************";
system.out.println(dege+"\n**欢迎使用密码测试器v1.0**");
boolean star=true;
while(star) {
system.out.print(dege+"\n请输入密码(0退出):\n");
password=input.nextline().replace(" ", "");
char[] chararray;
chararray=password.tochararray();
if(chararray.length>12||chararray.length==0) {
system.err.println("密码越界!");
continue;
}
if(chararray[0]=='0'&&chararray.length==1) {
system.out.print("程序结束!");
break;
}
//length=0时长度小于等于6,length=2时长度大于10
int length=-1;
if(chararray.length<=6) {
length=0;
}else if(chararray.length>10) {
length=2;
}else {
length=1;
}
//判断是否有其他字符
boolean number=true;
boolean term=false;
for(char j:chararray) {
term=false;
for(int i=0;i<letter.length;i++) {
if((letter[i])==j) {
if(i<52) {
number=false;
}
term=true;
break;
}
}
if(!term) {
number=false;
break;
}
}
string strength="";
if(number==true||length==0) {
strength="弱";
}else if(term==false&&length==2) {
strength="强";
}else {
strength="中等";
}
system.out.println("密码强度为:"+strength);
}
input.close();
}
}