java生成随机密码(随机长度,指定长度)方法总结

来源:互联网 发布:至尊妖孽软件下载 编辑:程序博客网 时间:2024/05/21 09:40
本文章给大家总结了在java中生成随机密码的几种函数,一种是随机长度密码,另一种是用户固定长度密码,下面我来给各位介绍。


Java生成随机长度密码。

/*** 生成随机密码** @param * 生成的密码的总长度* @return 密码的字符串*/public static String genRandomNum(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-1if (i >= 0 && i < str.length) {pwd.append(str[i]);count++;}}return pwd.toString();}/*** @param args*/public static void main(String[] args) {// TODO Auto-generated method stubSystem.out.println(genRandomNum(14));//生成14位随机密码}


生成指定长度的随机密码

import java.util.Random;public class test { /**  * @param args  */ public static void main(String[] args) {  // TODO Auto-generated method stub  System.out.println(genRandomNum(10)); } /**  * 生成随即密码  * @param pwd_len 生成的密码的总长度  * @return  密码的字符串  */ public static String genRandomNum(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 生成15位的随机码

import java.util.ArrayList;import java.util.List;public class GeneratePswd { @SuppressWarnings({ "unchecked", "unchecked" }) public static void main(String[] args) {  StringBuffer buf = new StringBuffer("a,b,c,d,e,f,g,h,i,g,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z");  buf.append(",A,B,C,D,E,F,G,H,I,G,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z");  buf.append(",~,@,#,$,%,^,&,*,(,),_,+,|,`,.");  buf.append(",1,2,3,4,5,6,7,8,9,0");  String[] arr = buf.toString().split(",");  List pswdList = new ArrayList();    for(int i=0;i<50;i++){   pswdList.add(getPswd(arr));  }    for(int i=0;i<pswdList.size();i++){   System.out.println(pswdList.get(i));  } }  public static String getPswd(String[] arr){  StringBuffer b = new StringBuffer();  java.util.Random r;  int k ;  for(int i=0;i<15;i++){    r = new java.util.Random();    k = r.nextInt();    b.append(String.valueOf(arr[Math.abs(k % 76)]));  }    return b.toString(); }}


0 0
原创粉丝点击