思路:使用assic码表,三个范围:数字(48-57),大写字母(65-90),小写字母(97-122)


  代码:

import java.util.Random; /** * 随机字符串工具 * * @author volitation <> * */
public class RandomString {
    /** * 获取指定长度随机字符串 * * @param length * @return */ public static String getRandomString(int length) {
        Random random = new Random();
        StringBuffer sb = new StringBuffer();
        for (int i = 0; i < length; i++) {
            int number = random.nextInt(3);
            long result = 0;
            switch (number) {
            case 0:
                result = Math.round(Math.random() * 25 + 65);
                sb.append(String.valueOf((char) result));
                break;
            case 1:
                result = Math.round(Math.random() * 25 + 97);
                sb.append(String.valueOf((char) result));
                break;
            case 2:
                sb.append(String.valueOf(new Random().nextInt(10)));
                break;
            }
        }
        return sb.toString();
    } /**  * 测试验证  *  * @param args  */ public static void main(String[] args) {
        System.out.println(RandomString.getRandomString(5));
        System.out.println(RandomString.getRandomString(10));
        System.out.println(RandomString.getRandomString(15));
    }
}


//测试:
//NVadc
//8C1UH1Y0hS
//dfiXZMR22pv422I


ASCII码表:

 

原文连接:https://www.cnblogs.com/xiejn/p/14592050.html