Update PasswordGen.java

This commit is contained in:
MaxKey 2021-08-01 23:40:09 +08:00
parent bdf4fa5772
commit ad2dbb1c7c

View File

@ -17,6 +17,9 @@
package org.maxkey.crypto.password;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.Random;
/**
@ -69,8 +72,9 @@ public class PasswordGen {
password.append(gen(CHAR_UPPERCASE, upperCase));
password.append(gen(CHAR_SPECIAL, special));
password.append(gen(CHAR_DEFAULT, length - lowerCase - upperCase - numbers -special));
// random generator String by sequence password
return gen(password.toString(), password.length());
return shuffle(password.toString());
}
/**
@ -95,4 +99,22 @@ public class PasswordGen {
}
return password.toString();
}
public String shuffle(final String charString) {
StringBuffer password = new StringBuffer("");
List<String> list = new ArrayList<String>();
for (int i = 0; i < charString.length(); i++) {
list.add(charString.charAt(i) + "");
}
for (int i = 0; i < length / 2; i++) {
Collections.shuffle(list);
}
for(String chr : list) {
password.append(chr);
}
return password.toString();
}
}