java密码安全等级代码 java密码解密( 三 )


mac.init(secretKey);
return mac.doFinal(data);
}
写一个java正则表达式,判断输入的密码强度,是数字弱 , 是字母较弱,数字加字母强,用\s写import java.util.Scanner;
public class JButtonTest
{
【java密码安全等级代码 java密码解密】 public static void main ( String[] args )
{
Scanner scanner = new Scanner (System.in);
System.out.println ("写一个java正则表达式,判断输入的密码强度,是数字弱搜索,是字母较弱,数字加字母强:");
while (scanner.hasNextLine ())
{
String line = scanner.nextLine ();
if (line.matches ("^\\d+$"))
{
System.out.println ("数字弱");
}
else if (line.matches ("^[a-zA-Z]+$"))
{
System.out.println ("字母弱");
}
else if (line.matches ("(?i)^((\\d+[\\da-z]*[a-z]+)|([a-z]+[\\da-z]*\\d+)|([a-z]+[\\da-z]*[a-z]*)|(\\d+[\\da-z]*\\d*))$"))
{
System.out.println ("密码强");
}
else
{
System.out.println ("你不按套路出牌啊 。你滴承诺尼 , 你滴担架尼?");
scanner.close ();
break;
}
}
}
}
java 密码强度问题,请高手作答下,见问题补充,悬赏10public class Demo {
public static Safelevel GetPwdSecurityLevel(String pPasswordStr) {
Safelevel safelevel = Safelevel.VERY_WEAK;
if (pPasswordStr == null) {
return safelevel;
}
int grade = 0;
int index = 0;
char[] pPsdChars = pPasswordStr.toCharArray();
int numIndex = 0;
int sLetterIndex = 0;
int lLetterIndex = 0;
int symbolIndex = 0;
for (char pPsdChar : pPsdChars) {
int ascll = pPsdChar;
/*
* 数字 48-57 A-Z 65 - 90 a-z 97 - 122 !"#$%'()*+,-./ (ASCII码java密码安全等级代码:33~47)
* :;=?@ (ASCII码java密码安全等级代码:58~64) [\]^_` (ASCII码:91~96) {|}~
* (ASCII码:123~126)
*/
if (ascll = 48ascll = 57) {
numIndex++;
} else if (ascll = 65ascll = 90) {
lLetterIndex++;
} else if (ascll = 97ascll = 122) {
sLetterIndex++;
} else if ((ascll = 33ascll = 47)
|| (ascll = 58ascll = 64)
|| (ascll = 91ascll = 96)
|| (ascll = 123ascll = 126)) {
symbolIndex++;
}
}
/*
* 一、密码长度: 5 分: 小于等于 4 个字符 10 分: 5 到 7 字符 25 分: 大于等于 8 个字符
*/
if (pPsdChars.length = 4) {
index = 5;
} else if (pPsdChars.length = 7) {
index = 10;
} else {
index = 25;
}
grade += index;
/*
* 二、字母: 0 分: 没有字母 10 分: 全都是?。ù螅┬醋帜?20 分: 大小写混合字母
*/
if (lLetterIndex == 0sLetterIndex == 0) {
index = 0;
} else if (lLetterIndex != 0sLetterIndex != 0) {
index = 20;
} else {
index = 10;
}
grade += index;
/*
* 三、数字: 0 分: 没有数字 10 分: 1 个数字 20 分: 大于 1 个数字
*/
if (numIndex == 0) {
index = 0;
} else if (numIndex == 1) {
index = 10;
} else {
index = 20;
}
grade += index;
/*
* 四、符号: 0 分: 没有符号 10 分: 1 个符号 25 分: 大于 1 个符号
*/
if (symbolIndex == 0) {
index = 0;
} else if (symbolIndex == 1) {
index = 10;
} else {
index = 25;
}
grade += index;
/*
* 五、奖励: 2 分: 字母和数字 3 分: 字母、数字和符号 5 分: 大小写字母、数字和符号
*/
if ((sLetterIndex != 0 || lLetterIndex != 0)numIndex != 0) {
index = 2;
} else if ((sLetterIndex != 0 || lLetterIndex != 0)numIndex != 0
symbolIndex != 0) {
index = 3;
} else if (sLetterIndex != 0lLetterIndex != 0numIndex != 0

推荐阅读