java 实现随机生数

需求: 后台需要生成随机唯一字符串,提供给前端,用于身份的验证过程。

生成这种字符串可以有一下两种方式

(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 的作用: 实现让分布式系统中的所有元素都有唯一的辨识信息。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值