随机得到指定长度的随机字符串,可以用于实现动态验证码

在开发过程中,可能需要得到指定长度的字符串,比如验证码就有这种需求,对此存在几种常见的方法,总结如下:

1.指定一个数组或者字符串,通过Math.random()得到一个随机数,并作为下表进行字符的获取,具体代码如下:、

public String getRandomString2(Integer len){
  char[] takeArr = {'0','1','2','3','4','5','6','7','8','9',
  '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'};
  char[] chrs = new char[len];
  int index = 0;
  for(int i=0;i<len;i++){
    index = (char) (Math.random()*62);
    chrs[i] = takeArr[index];
  }
  return String.valueOf(chrs);
}

2.通过字母的ASCII码,进行分析直接得到字符char,具体的代码如下:

public String getRandomString(Integer len){
  char[] chrs = new char[len];
  for(int i =0;i < len;i++){
    chrs[i] = (char) (Math.random()*52+65);
  }
  return String.valueOf(chrs);
}

 

以上是两种比较常见的生成指定长度字符的方式

posted on 2016-04-08 17:52  夜晚的猫头鹰  阅读(519)  评论(0)    收藏  举报

导航