需求: 后台需要生成随机唯一字符串,提供给前端,用于身份的验证过程。
生成这种字符串可以有一下两种方式
(1)使用java.util 包下的UUID类提供的 一个生成方法 randomUUID()
实现如下: '''
import java.util.UUID;
public class GenerateToken { public static String getUUID(){
// 并将生成的-替换掉
return UUDI.randomUUID().toString().replace("-", "");
}
} '''
第二种方式比较繁琐: 实现如下:
'''
import java.util.Random;
public class GenerateToken {
public String getToken(){
int length = 32;
String str= "zxcvbnmlkjhgfdsaqwertyuiopQWERTYUIOPASDFGHJKLZXCVBNM1234567890";
//由Random生成随机数
Random random=new Random();
StringBuffer sb = new StringBuffer();
for(int i=0; i<length; ++i){
//产生0-31的数字
int number=random.nextInt(32);
//将产生的数字通过length次承载到sb中
sb.append(str.charAt(number));
}
System.out.println(sb.toString());
return sb.toString();
}
}
'''
知识点: UUID: Universally Unique Identifier , 即通用唯一识别码。
UUID 是由一组32位的16进制数字所构成的,UUID 理论上的总数为 16^32 = 2^128 , 约等于3.4 * 10^38。
UUID 的组成, UUID 是在一台机器上生成的数字,它保证了对同一时空中的所有机器都是唯一的。 1) 当前日期和时间 2) 时钟序列 3) 全局唯一的IEEE 机器识别码
UUID 的标准格式为: xxxxxxx-xxxx-Axxx-Bxxx-xxxxxxxx
UUID 的作用: 实现让分布式系统中的所有元素都有唯一的辨识信息。