Java代码实现“数字+大小写字母”的密码生成
import java.util.HashMap;
import java.util.Map;
import java.util.Random;
public class GeneratePassword {
private static Random rand;
static{
rand=new Random();
}
/**
* 大写字母+小写字母+数字
* @param wordNum 要生成的密码长度是多少
* @return
*/
public static String generatePassword(Integer wordNum){
int total=wordNum;//密码总位数
StringBuffer password=new StringBuffer();
int upperNum=getRadomInt(1,total-2);//大写字母位数,保留至少两位,用来放小写和数字
int lowerNum=getRadomInt(1, total-upperNum-1);//小写字母位数,为总数减去大写字母占用的数量,再为数字区域保留至少1
int nnum=total-upperNum-lowerNum;//最后剩余数字的位数,为总数减去大写和小写字母位数之后剩余的位数
//随机获取到每个类型的位置index
Map<Integer,String> indexMap=new HashMap<Integer,String>();
while(indexMap.s