package utils import ( "crypto/rand" "encoding/base64" "math/big" ) // GenerateRandomString 生成随机字符串 func GenerateRandomString(length int) string { const charset = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789" b := make([]byte, length) for i := range b { n, _ := rand.Int(rand.Reader, big.NewInt(int64(len(charset)))) b[i] = charset[n.Int64()] } return string(b) } // GenerateRandomNumber 生成随机数字 func GenerateRandomNumber(length int) string { const charset = "0123456789" b := make([]byte, length) for i := range b { n, _ := rand.Int(rand.Reader, big.NewInt(int64(len(charset)))) b[i] = charset[n.Int64()] } return string(b) } // GenerateCardKey 生成卡密 func GenerateCardKey(prefix string, length int) string { randomPart := GenerateRandomString(length) return prefix + "-" + randomPart } // GenerateBase64Token 生成Base64令牌 func GenerateBase64Token(length int) string { b := make([]byte, length) rand.Read(b) return base64.URLEncoding.EncodeToString(b) }