zl程序教程

您现在的位置是:首页 >  后端

当前栏目

java随机字符串生成示例

JAVA 字符串 示例 生成 随机
2023-06-13 09:15:19 时间

复制代码代码如下:


packagecom.phyl.password;

importjava.util.ArrayList;
importjava.util.Arrays;
importjava.util.Random;
/**
 *字符随机生成类
 *@authorASUS
 *
 */
publicclassPassWord{

 /**
 *密码类型枚举
 *@authorASUS
 */
 publicstaticenumTYPE{
  /**
  *字符型
  */
  LETTER,
  /**
  *大写字符型
  */
  CAPITAL,
  /**
  *数字型
  */
  NUMBER,
  /**
  *符号型
  */
  SIGN,
  /**
  *大+小字符型
  */
  LETTER_CAPITAL,
  /**
  *小字符+数字型
  */
  LETTER_NUMBER,
  /**
  *大+小字符+数字型
  */
  LETTER_CAPITAL_NUMBER,
  /**
  *大+小字符+数字+符号型
  */
  LETTER_CAPITAL_NUMBER_SIGN
 }

 privatestaticString[]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"};

 privatestaticString[]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"}; 

 privatestaticString[] number={
   "1","2","3","4","5","6","7","8","9","0"};

 privatestaticString[]sign={
   "~","!","@","#","$","%","^","&","*","(",")","_","+","`","-","=",
   "{","}","|",":","\"","<",">","?",
   "[","]","\\",";",""",",",".","/"};

 /**
 *静态随机数
 */
 privatestaticRandomrandom=newRandom();

 publicstaticvoidmain(String[]args){
  System.out.println(PassWord.getRandom(24,PassWord.TYPE.CAPITAL));
 }

 /**
 *获取随机组合码
 *@paramnum位数
 *@paramtype类型
 *@type
 *<br>字符型LETTER,
 *<br>大写字符型CAPITAL,
 *<br>数字型NUMBER,
 *<br>符号型SIGN,
 *<br>大+小字符型LETTER_CAPITAL,
 *<br>小字符+数字型LETTER_NUMBER,
 *<br>大+小字符+数字型LETTER_CAPITAL_NUMBER,
 *<br>大+小字符+数字+符号型LETTER_CAPITAL_NUMBER_SIGN
 */
 publicstaticStringgetRandom(intnum,TYPEtype){
  ArrayList<String>temp=newArrayList<String>();
  StringBuffercode=newStringBuffer();
  if(type==TYPE.LETTER){
   temp.addAll(Arrays.asList(lowercase));
  }elseif(type==TYPE.CAPITAL){
   temp.addAll(Arrays.asList(capital));
  }elseif(type==TYPE.NUMBER){
   temp.addAll(Arrays.asList(number));
  }elseif(type==TYPE.SIGN){
   temp.addAll(Arrays.asList(sign));
  }elseif(type==TYPE.LETTER_CAPITAL){
   temp.addAll(Arrays.asList(lowercase));
   temp.addAll(Arrays.asList(capital));
  }elseif(type==TYPE.LETTER_NUMBER){
   temp.addAll(Arrays.asList(lowercase));
   temp.addAll(Arrays.asList(number));
  }elseif(type==TYPE.LETTER_CAPITAL_NUMBER){
   temp.addAll(Arrays.asList(lowercase));
   temp.addAll(Arrays.asList(capital));
   temp.addAll(Arrays.asList(number));
  }elseif(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(inti=0;i<num;i++){
   code.append(temp.get(random.nextInt(temp.size())));
  }
  returncode.toString();
 }

}