/**
* 生成32位随机数
*
*/
public class IDUtils {
public static String getId(){
return UUID.randomUUID().toString().replace("-", "");
}
@Test
public void test() {
System.out.println(IDUtils.getId());
System.out.println(IDUtils.getId());
System.out.println(IDUtils.getId());
System.out.println(IDUtils.getId().length());
}
}
这里去掉了间隔符 “-”, 使用空字符串替换掉了
二、 生成 6 位随机数的方法:
Math.random()生成 0.0-1.0 之间的随机数;
方法 1:一行代码实现
System.out.println((int)((Math.random()*9+1)*100000));
方法 2:0-9 之间的数字进行遍历,循环六次,得到 6 位随机数
Random random = new Random();
String result="";
for (int i=0;i<6;i++)
{
result+=random.nextInt(10);
}
System.out.println(result);
方法三:防止小于 6 位,就加 100000
int flag = new Random().nextInt(999999);
if (flag < 100000)
{
flag += 100000;
}
System.out.println(flag);
方法四:引入一个source字符串,从这个字符串里可以随机生成一个子串返回,很多pc网站用这个方法生成带字母数字的验证码。
```java
String sources = "0123456789"; // 加上一些字母,就可以生成pc站的验证码了
Random rand = new Random();
StringBuffer flag = new StringBuffer();
for (int j = 0; j < 6; j++)
{
flag.append(sources.charAt(rand.nextInt(9)) + "");
}
System.out.println(flag.toString());