随机数生成
2018/12/23 10:24:00
生成随机数
我们常用的是生成一个唯一的随机数,那就是使用GUID。
我们还可能用到生成指定字符串长度的随机数,
比如说4位图像验证码或6位手机验证码。
生成方法如下:
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Random;
import org.apache.commons.codec.digest.DigestUtils;
public class RandomCode {
public static void main(String[] args){
String code = getCode(4);
P.print(code);
/*其他随机字符串生成方法*/
P.print(java.util.UUID.randomUUID().toString());
P.print(java.util.UUID.randomUUID().toString().replace("-",""));
code = getCode(4);
String time = new SimpleDateFormat("yyyyMMdd HH:mm:ss").format(new Date());
String md5 = DigestUtils.md5Hex(code + time + "540de77bc32847828b85c84217ca4c32");
P.print("thecode:");
P.print(md5);
}
/**
* @param codeLength 随机验证码的长度
* @return 由大小写字母和数字组成的字符串
*/
public static String getCode(int codeLength) {
Random randomer = new Random();
StringBuilder builder = new StringBuilder();
char[] elements = { 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R',
'S', 'T', 'V', 'U', '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', '1', '2', '3', '4', '5', '6', '7', '8',
'9' };
for (int i = 0; i < codeLength; i++) {
int index = randomer.nextInt(elements.length);
builder.append(elements[index]);
}
return builder.toString();
}
}
扫码分享
版权说明
作者:SQBER
本文版权归作者所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
{0}
{5}
{1}
{2}回复
{4}
*昵称:
*邮箱:
个人站点:
*想说的话: