生成固定长度的随机验证码

随机生成固定长度的验证码–纯数字,代码如下:

/**
     * 随机生成固定长度的数字验证码
     *
     * @param size 随机数位数
     * @return 随机字符串
     */
    public static String getRandomNumber(int size) {
          
   
        char[] c = {
          
   1, 2, 3, 4, 5, 6, 7, 8, 9, 0};
        SecureRandom random = new SecureRandom();
        StringBuilder builder = new StringBuilder(size);
        for (int i = 0; i < size; i++) {
          
   
            builder.append(c[Math.abs(random.nextInt()) % c.length]);
        }
        return builder.toString();
    }


    public static void main(String[] args) {
          
   
        for (int i = 0; i < 5; i++) {
          
   
            String randomNumber = getRandomNumber(4);
            System.out.println("四位验证码: "+randomNumber);
        }
    }

打印结果:

生成数字+字母混合的随机验证码,代码如下:

/**
     * 生成随机数
     *
     * @param count 要生成的随机数位数
     * @return 随机数字符串
     */
    public static String getRandomNumberAndLetters(int count) {
          
   
        String[] nums = {
          
   "0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "A", "B", "C", "D", "E", "F", "J", "H", "I", "J", "K", "L", "M", "N"};
        int maxIndex = nums.length - 1;
        int numIndex;
        StringBuilder builder = new StringBuilder(count);
        for (int i = 0; i < count; i++) {
          
   
            numIndex = (int) (Math.random() * maxIndex);
            builder.append(nums[numIndex]);
        }
        return builder.toString();
    }

    public static void main(String[] args) {
          
   
        for (int i = 0; i < 5; i++) {
          
   
            String randomString = getRandomNumberAndLetters(4);
            System.out.println("数字字母混合验证码: "+randomString);
        }
    }

打印结果:

经验分享 程序员 微信小程序 职场和发展