Go随机token生成

Go随机token生成

思路

golang中有自带的随机数库rand/math,那么只要提前将所有的字符放在一个字符串里,然后生成0-字符串长度-1中的随机整数作为下标。

代码

输入token位数n,长度n的返回字符串,将其存入redis即可。

//TODOS: 返回随机字符串
func RandString(n int) (ret string) {
	allString := "qwertyuiopasdfghjklzxcvbnm0123456789"
	ret = ""
	for i := 0; i < n; i++ {
		r := rand.Intn(len(allString))
		ret = ret + allString[r:r+1]
	}
	return
}
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
生成登录随机token的代码可以参考以下几种方式: 1. Java代码: 在Java中,可以使用以下代码生成随机token: ```java public class TokenProccessor { private TokenProccessor() {} private static final TokenProccessor instance = new TokenProccessor(); public static TokenProccessor getInstance() { return instance; } public String makeToken() { String token = (System.currentTimeMillis() + new Random().nextInt(999999999)) + ""; try { MessageDigest md = MessageDigest.getInstance("md5"); byte[] md5 = md.digest(token.getBytes()); BASE64Encoder encoder = new BASE64Encoder(); return encoder.encode(md5); } catch (NoSuchAlgorithmException e) { throw new RuntimeException(e); } } } ``` 这段代码使用了当前时间戳和随机生成一个字符串作为token,然后使用MD5进行加密,并使用Base64编码返回。 2. Go代码: 在Go语言中,可以使用以下代码生成随机token: ```go // RandStr 生成随机字符串 func RandStr(length int) string { str := "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" bytes := []byte(str) result := []byte{} rand.Seed(time.Now().UnixNano() + int64(rand.Intn(100))) for i := 0; i < length; i++ { result = append(result, bytes[rand.Intn(len(bytes))]) } return string(result) } ``` 这段代码使用了当前时间戳和随机生成一个字符串作为token,然后返回。 以上是两种常见的生成随机token的代码示例,你可以根据自己的需求选择其中一种来使用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值