zoukankan      html  css  js  c++  java
  • Java 如何随机产生8位包含英文数字标点符号

    java随机生成8位密码-包括数字、大小写字母、特殊符号。

    //返回随机产生的8位数
    public  String getRandomPassword(int len) {
        String result= this.makeRandomPassword(len);
        if (result.matches(".*[a-z]{1,}.*") && result.matches(".*[A-Z]{1,}.*") && result.matches(".*\d{1,}.*") && result.matches(".*[~!@#$%^&*\.?]{1,}.*")) {
        return result;
        }
        result = makeRandomPassword(len);
     }
    
      //产生8位随机数
      public  String makeRandomPassword(int len){
       char charr[] = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890~!@#$%^&*.?".toCharArray();
       StringBuilder sb = new StringBuilder();
       Random r = new Random();
       for (int x = 0; x < len; ++x) {
       sb.append(charr[r.nextInt(charr.length)]);
       }
       return sb.toString();
       }

     完整的测试例子:

    public class TestRandomNumber {
        public TestRandomNumber() {
        }
    
        public static void main(String[] args) {
            String randomNum = getRandomPassword(8);
            System.out.println(randomNum);
        }
    
        /**
         * 返回随机产生的8位数
         */
        public static String getRandomPassword(int len) {
            String result = makeRandomPassword(len);
            if (result.matches(".*[a-z]{1,}.*") && result.matches(".*[A-Z]{1,}.*") && result.matches(".*\d{1,}.*") &&
                    result.matches(".*[~!@#$%^&*\.?]{1,}.*")) {
                return result;
            }
            result = makeRandomPassword(len);
            return result;
        }
    
        /**
         * 产生8位随机数
         *
         * @param len 长度
         * @return
         */
        public static String makeRandomPassword(int len) {
            char charr[] = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890.".toCharArray();
            StringBuilder sb = new StringBuilder();
            Random r = new Random();
            for (int x = 0; x < len; ++x) {
                sb.append(charr[r.nextInt(charr.length)]);
            }
            return sb.toString();
        }
  • 相关阅读:
    ReentrantLock与synchronized的差别
    读TIJ -1 对象入门
    wikioi 2573 大顶堆与小顶堆并用
    开源 免费 java CMS
    UVA10972
    springboot5
    spring-boot4
    spring-boot3
    spring-boot2
    spring-boot1
  • 原文地址:https://www.cnblogs.com/chendezhen/p/14754021.html
Copyright © 2011-2022 走看看