JAVA随机生成指定长度的密码(大小写和数字)

原创 2012年07月10日 16:03:29
import java.util.Random;

public class PassWordCreate {
	/**
	 * 获得密码
	 * @param len 密码长度
	 * @return
	 */
	public String createPassWord(int len){
		int random = this.createRandomInt();
		return this.createPassWord(random, len);
	}
	
	public String createPassWord(int random,int len){
		Random rd = new Random(random);
		final int  maxNum = 62;
		StringBuffer sb = new StringBuffer();
		int rdGet;//取得随机数
		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', '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' };
		
		int count=0;
		while(count < len){
			rdGet = Math.abs(rd.nextInt(maxNum));//生成的数最大为62-1
			if (rdGet >= 0 && rdGet < str.length) {
				sb.append(str[rdGet]);
			    count ++;
			}
		}
		return sb.toString();
	}
	
	public int createRandomInt(){
		//得到0.0到1.0之间的数字,并扩大100000倍
		double temp = Math.random()*100000;
		//如果数据等于100000,则减少1
		if(temp>=100000){
			temp = 99999;
		}
		int tempint = (int)Math.ceil(temp);
		return tempint;
	}
	
	public static void main(String[] args){
		PassWordCreate pwc = new PassWordCreate();
		System.out.println(pwc.createPassWord(8));
	}
}

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

Java生成随机字符串的代码

 public static String getRandomString(int length) { //length表示生成字符串的长度    String base = "abcdefg...

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

本文章给大家总结了在java中生成随机密码的几种函数,一种是随机长度密码,另一种是用户固定长度密码。...

Java随机密码生成器,Java随机生成长度不少于6的指定长度的密码,且这个字符串必须包含大小写字母、数字和特殊字符,四种的任意三种

import java.util.Random;public class RandomPassword { public static void main(String[] args) { Stri...

Java生成随机长度指定密码

import java.util.Random; public class test { /** * @param args */ public static void main(St...

网上找了个java随机生成密码的。。。发上来记录一下。

import java.util.Random;public class test { /** * @param args */ public static void main(String[] ...

java如何随机生成6位数的验证码

java如何随机生成6位数的验证码
  • DreamTL
  • DreamTL
  • 2016年08月04日 16:43
  • 16162

java自动生成复杂的新密码,强密码。

写了几次BLOG,看得人多,用的人多,就是没人回复,没有一点成就感,今天写了一个强密码的类,不详细说明了,自己看吧。。谢谢package test;public class NewPassword {...
  • nookia
  • nookia
  • 2008年01月30日 14:28
  • 1506

java随机生成一个6/8/12位密码,数字加字母的密码

代码如下: 方法(1): public static void main(String[] args) { String code=""; Random rand=n...

Delphi7高级应用开发随书源码

  • 2003年04月30日 00:00
  • 676KB
  • 下载

Java生成随机不重复推广码邀请码

欢迎进入我的博客:blog.scarlettbai.com查看更多文章 最近接到一个需求,要批量生成推广码,首先我们知道推广码的特效有如下两点: 1:不可重复 2:不可以被推测出关于这两点,我们的...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:JAVA随机生成指定长度的密码(大小写和数字)
举报原因:
原因补充:

(最多只允许输入30个字)