生成随机码

阅读更多
public static String genRandomNum(int pwd_len) {
		// 35是因为数组是从0开始的,26个字母+10个数字
		final int maxNum = 36;
		int i; // 生成的随机数
		int count = 0; // 生成的密码的长度
		char[] str = { '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
			System.out.print(count + ":" + i + ",");
			if (i >= 0 && i < str.length) {
				pwd.append(str[i]);
				count++;
				System.out.println();
			}
		}
		return pwd.toString();
	}

	public static void main(String[] args) {
		System.out.println(genRandomNum(8));
	}



public static void main(String[] args) {
		for (int i = 0; i < 10; i++) {
			System.out.println(getRandomNum(10));
		}
		
	}
	
	public static String getRandomNum(int num_len){
		char[] str = { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9' };
		char[] c1=new char[26];
		for (int i = 65; i <91; i++) {
			c1[i-65]=(char)i;
		}
		char[] c2=new char[26];
		for (int i = 97; i <123; i++) {
			c2[i-97]=(char)i;
		}
		StringBuffer sf=new StringBuffer("");
		int a=-1;
		Random r=new Random();
		int count=0;
		while(count=65 && a<91){
				sf.append(c1[a-65]);
				count++;
			}else if(a>=97 && a<123){
				sf.append(c2[a-97]);
				count++;
			}else if(a>=0 && a<=9){
				sf.append(str[a]);
				count++;
			}
		}
		return sf.toString();
	}



public static void main(String[] args) {
		for (int i = 0; i < 100; i++) {
			System.out.println(getRandomNum(8));
		}

	}

	public static String getRandomNum(int num_len) {
		String str = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
		char[] ch = str.toCharArray();
		int count = 0;
		StringBuffer temp = new StringBuffer("");
		Random r = new Random();
		while (count < num_len) {
			int i = Math.abs(r.nextInt(62));
			temp.append(ch[i]);
			count++;
		}
		return temp.toString();
	}

你可能感兴趣的:(生成随机码)