/** * 生成随机密码 * author LiuQiang * date 2013-10-16 上午11:43:17 * @return * length 密码长度 * count 特殊字符个数 */ public static String setPass(int length,int count){ //// 得到8-20 的随机数 //Random rd = new Random(); //length = rd.nextInt(20)%(20-8+1) + 8; char[] ss = new char[length]; int[] flag = {0,0,0}; //A-Z, a-z, 0-9 int i=0; while(flag[0]==0 || flag[1]==0 || flag[2]==0 || i<length) { i = i%length; int f = (int) (Math.random()*3%3); if(f==0) ss[i] = (char) ('A'+Math.random()*26); else if(f==1) ss[i] = (char) ('a'+Math.random()*26); else ss[i] = (char) ('0'+Math.random()*10); flag[f]=1; i++; } Random rd = new Random(); char[] a = {'@','#','$','%','&','*'}; int max = ss.length-1; for(int n=0;n<count;n++){ int indexa = rd.nextInt(5); int indexss = rd.nextInt(max); ss[indexss]=a[indexa]; } return new String(ss); }
java 生成随机密码
最新推荐文章于 2024-01-26 13:47:49 发布