Java生成指定长度的随机密码


 public static void main(String[] args) {  
        // TODO Auto-generated method stub  
          
        int i = 0;  
        while (i < 10)  
        {     
              
            System.out.println(getRandomNum(8));  
            i++;      
        }  
 
    }  
     
 
     
   public static String getRandomString(int length) {   
       StringBuffer buffer = new StringBuffer("0123456789abcdefghijklmnopqrstuvwxyz");   
       StringBuffer sb = new StringBuffer();   
       Random r = new Random();   
       int range = buffer.length();   
       for (int i = 0; i < length; i ++) {   
           sb.append(buffer.charAt(r.nextInt(range)));   
       }   
       return sb.toString();   
   }   
     
   public static String getRandomNum(int pwd_len){  
       //35是因为数组是从0开始的,26个字母+10个数字  
       final int maxNum = 36;  
       int i; //生成的随机数  
       int count = 0; //生成的密码的长度  
       char[] str = { 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k',  
         'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w',  
         'x', 'y', 'z', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9' };  
        
       StringBuffer pwd = new StringBuffer("");  
       Random r = new Random();  
       while(count < pwd_len){  
        //生成随机数,取绝对值,防止生成负数,  
         
        i = Math.abs(r.nextInt(maxNum)); //生成的数最大为36-1  
         
        if (i >= 0 && i < str.length) {  
         pwd.append(str[i]);  
         count ++;  
        }  
       }  
        
       return pwd.toString();  
    }  
  

你可能感兴趣的:(Java生成指定长度的随机密码)