密码生成大法,暴力粗糙的的密码生成方法,可以自定义密码生成长度,文中自定的长度是18;
可以根据自身需要进行设置,或者批量生成、校验。本代码块没有进行string合法性校验,为啥不需要?因为要让人猜不透。。。
private static char[] generatePassword(int length) {
String upCaseLetters = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
String lowerCaseLetters = "abcdefghijklmnopqrstuvwxyz";
String specialCharacters = "!@#$%&*()_+-=[]|,./?><";
String numbers = "1234567890";
String combinedChars = upCaseLetters + lowerCaseLetters + specialCharacters + numbers;
Random random = new Random();
char[] password = new char[length];
for(int i = 0; i< length ; i++) {
password[i] = combinedChars.charAt(random.nextInt(combinedChars.length()));
}
return password;
}
@Test
public void query() throws Exception {
System.out.println(generatePassword(18));
}