您的位置:首页 > 编程语言 > Java开发

java自动生成复杂的新密码,强密码。

2008-01-30 14:28 549 查看
写了几次BLOG,看得人多,用的人多,就是没人回复,没有一点成就感,今天写了一个强密码的类,不详细说明了,自己看吧。。谢谢

package test;

public class NewPassword {

public static void main(String[] args) {

String[] pswdStr = { "qwertyuiopasdfghjklzxcvbnm",
"QWERTYUIOPASDFGHJKLZXCVBNM", "0123456789",
"~!@#$%^&*()_+{}|<>?:{}" };

int pswdLen = 6;
String pswd = " ";
char[] chs = new char[pswdLen];
for (int i = 0; i < pswdStr.length; i++) {

int idx = (int) (Math.random() * pswdStr[i].length());
chs[i] = pswdStr[i].charAt(idx);

}

for (int i = pswdStr.length; i < pswdLen; i++) {

int arrIdx = (int) (Math.random() * pswdStr.length);
int strIdx = (int) (Math.random() * pswdStr[arrIdx].length());

chs[i] = pswdStr[arrIdx].charAt(strIdx);
}

for (int i = 0; i < 1000; i++) {
int idx1 = (int) (Math.random() * chs.length);
int idx2 = (int) (Math.random() * chs.length);

if (idx1 == idx2) {
continue;
}

char tempChar = chs[idx1];
chs[idx1] = chs[idx2];
chs[idx2] = tempChar;
}

pswd = new String(chs);
System.out.println(pswd);
}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: