packagep2p_web;importjava.util.ArrayList;importjava.util.Arrays;importjava.util.Random;/*** 字符随机生成类
*@authorASUS
**/
public classPassWord {/*** 密码类型枚举
*@authorASUS*/
public static enumTYPE {/*** 字符型*/LETTER,/*** 大写字符型*/CAPITAL,/*** 数字型*/NUMBER,/*** 符号型*/SIGN,/*** 大+小字符 型*/LETTER_CAPITAL,/*** 小字符+数字 型*/LETTER_NUMBER,/*** 大+小字符+数字 型*/LETTER_CAPITAL_NUMBER,/*** 大+小字符+数字+符号 型*/LETTER_CAPITAL_NUMBER_SIGN
}private static String[] lowercase ={"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"};private static String[] capital ={"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"};private static String[] number ={"1","2","3","4","5","6","7","8","9","0"};private static String[] sign ={"~","!","@","#","$","%","^","&","*","(",")","_","+","`","-","=","{","}","|",":","\"","","?","[","]","\\",";","'",",",".","/"};/*** 静态随机数*/
private static Random random = newRandom();public static voidmain(String[] args) {
System.out.println(PassWord.getRandom(24, PassWord.TYPE.LETTER_CAPITAL_NUMBER_SIGN));
}/*** 获取随机组合码
*@paramnum 位数
*@paramtype 类型
* @type
*
字符型 LETTER,
*
大写字符型 CAPITAL,
*
数字型 NUMBER,
*
符号型 SIGN,
*
大+小字符型 LETTER_CAPITAL,
*
小字符+数字 型 LETTER_NUMBER,
*
大+小字符+数字 型 LETTER_CAPITAL_NUMBER,
*
大+小字符+数字+符号 型 LETTER_CAPITAL_NUMBER_SIGN*/
public static String getRandom(intnum,TYPE type){
ArrayList temp = new ArrayList();
StringBuffer code= newStringBuffer();if(type ==TYPE.LETTER){
temp.addAll(Arrays.asList(lowercase));
}else if(type ==TYPE.CAPITAL){
temp.addAll(Arrays.asList(capital));
}else if(type ==TYPE.NUMBER){
temp.addAll(Arrays.asList(number));
}else if(type ==TYPE.SIGN){
temp.addAll(Arrays.asList(sign));
}else if(type ==TYPE.LETTER_CAPITAL){
temp.addAll(Arrays.asList(lowercase));
temp.addAll(Arrays.asList(capital));
}else if(type ==TYPE.LETTER_NUMBER){
temp.addAll(Arrays.asList(lowercase));
temp.addAll(Arrays.asList(number));
}else if(type ==TYPE.LETTER_CAPITAL_NUMBER){
temp.addAll(Arrays.asList(lowercase));
temp.addAll(Arrays.asList(capital));
temp.addAll(Arrays.asList(number));
}else if(type ==TYPE.LETTER_CAPITAL_NUMBER_SIGN){
temp.addAll(Arrays.asList(lowercase));
temp.addAll(Arrays.asList(capital));
temp.addAll(Arrays.asList(number));
temp.addAll(Arrays.asList(sign));
}for (int i = 0; i < num; i++) {
code.append(temp.get(random.nextInt(temp.size())));
}returncode.toString();
}
}