package pkg import ( "math/rand/v2" ) // GenerateRandomStringCustom 使用自定义字符集 func GenerateRandomStringCustom(n int, charset string) string { result := make([]byte, n) for i := range result { result[i] = charset[rand.IntN(len(charset))] } return string(result) } // 纯数字字符串 func GenerateRandomNumberString(n int) string { return GenerateRandomStringCustom(n, "0123456789") } // 纯小写字母 func GenerateRandomLowerString(n int) string { return GenerateRandomStringCustom(n, "abcdefghijklmnopqrstuvwxyz") } // 纯大写字母 func GenerateRandomUpperString(n int) string { return GenerateRandomStringCustom(n, "ABCDEFGHIJKLMNOPQRSTUVWXYZ") } // 使用自定义随机源(例如固定种子) func GenerateRandomStringWithSeed(n int, seed uint64) string { const charset = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789" rng := rand.New(rand.NewPCG(seed, seed)) result := make([]byte, n) for i := range result { result[i] = charset[rng.IntN(len(charset))] } return string(result) }