random_string.go 472 B

123456789101112131415161718192021222324
  1. package utils
  2. import (
  3. "math/rand"
  4. "time"
  5. )
  6. const charset = "abcdefghijklmnopqrstuvwxyz" +
  7. "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"
  8. var seededRand *rand.Rand = rand.New(
  9. rand.NewSource(time.Now().UnixNano()))
  10. func StringWithCharset(length int, charset string) string {
  11. b := make([]byte, length)
  12. for i := range b {
  13. b[i] = charset[seededRand.Intn(len(charset))]
  14. }
  15. return string(b)
  16. }
  17. func String(length int) string {
  18. return StringWithCharset(length, charset)
  19. }