package com.fastone.www.javademo.randomtest;
import java.util.Random;
/**
* @program: javademo
* @description: 生成8位随机密码
* @author: sunyuhua
* @create: 2021-11-25 12:43
**/
public class CreateNewPassword {
public static void main(String[] args) {
System.out.println("==="+randomPassword());
}
private static final String SPECIAL_CHARS = "! @#$%^&*_=+-/";
private static char nextChar(Random rnd){
switch(rnd.nextInt(4)){
case 0:
return (char)('a'+rnd.nextInt(26));
case 1:
return (char)('A'+rnd.nextInt(26));
case 2:
return (char)('0'+rnd.nextInt(10));
default:
return SPECIAL_CHARS.charAt(rnd.nextInt(SPECIAL_CHARS.length()));
}
}
public static String randomPassword(){
char[] chars = new char[8];
Random rnd = new Random();
for(int i=0; i<8; i++){
chars[i] = nextChar(rnd);
}
return new String(chars);
}
}
输出结果(每一次都不一样):
11uL$=6V