JAVAは8桁のランダムなパスワードを生成します

package springboot.util;
import cn.hutool.core.util.RandomUtil;

public class CommonUtil {
    
    
    public static String getRandomPwd() {
    
    
        List<Character> characters1 = new ArrayList<>();
        List<Character> characters2 = new ArrayList<>();
        List<Character> characters3 = new ArrayList<>();
        List<Character> characters4 = new ArrayList<>();
        Pattern pattern1 = Pattern.compile("\\d");
        Pattern pattern2 = Pattern.compile("[a-z]");
        Pattern pattern3 = Pattern.compile("[A-Z]");
        Pattern pattern4 = Pattern.compile("[^A-Za-z0-9\"']");
        for (int i = 33; i <127 ; i++) {
    
    
            System.out.println(i+": "+(char)i);
            if(pattern1.matcher((char)i+"").matches()){
    
    
                characters1.add((char)i);
            }
            if(pattern2.matcher((char)i+"").matches()){
    
    
                characters2.add((char)i);
            }
            if(pattern3.matcher((char)i+"").matches()){
    
    
                characters3.add((char)i);
            }
            if(pattern4.matcher((char)i+"").matches()){
    
    
                characters4.add((char)i);
            }
        }
//        System.out.println(characters1);
//        System.out.println(characters2);
//        System.out.println(characters3);
//        System.out.println(characters4);
        characters1 = RandomUtil.randomEleList(characters1, 2);
        characters2 = RandomUtil.randomEleList(characters2,2);
        characters3 = RandomUtil.randomEleList(characters3,2);
        characters4 = RandomUtil.randomEleList(characters4,2);
        characters1.addAll(characters2);
        characters1.addAll(characters3);
        characters1.addAll(characters4);
        Collections.shuffle(characters1);
        StringBuilder builder  = new StringBuilder();
        for (int i = 0; i <characters1.size() ; i++) {
    
    
            System.out.print(characters1.get(i));
        }
        System.out.println();
        return characters1.stream().map(Object::toString).collect(Collectors.joining());
    }
}

おすすめ

転載: blog.csdn.net/AnalogElectronic/article/details/128128150