欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

”密码强度判断“第一个自己写的小东西

程序员文章站 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();
 } 
}