stringutils.go 769 B

123456789101112131415161718192021222324252627282930
  1. package stringutils
  2. import (
  3. mathrand "math/rand"
  4. "time"
  5. )
  6. // Generate alpha only random stirng with length n
  7. func GenerateRandomAlphaOnlyString(n int) string {
  8. // make a really long string
  9. letters := []byte("abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ")
  10. b := make([]byte, n)
  11. r := mathrand.New(mathrand.NewSource(time.Now().UTC().UnixNano()))
  12. for i := range b {
  13. b[i] = letters[r.Intn(len(letters))]
  14. }
  15. return string(b)
  16. }
  17. // Generate Ascii random stirng with length n
  18. func GenerateRandomAsciiString(n int) string {
  19. chars := "abcdefghijklmnopqrstuvwxyz" +
  20. "ABCDEFGHIJKLMNOPQRSTUVWXYZ" +
  21. "~!@#$%^&*()-_+={}[]\\|<,>.?/\"';:` "
  22. res := make([]byte, n)
  23. for i := 0; i < n; i++ {
  24. res[i] = chars[mathrand.Intn(len(chars))]
  25. }
  26. return string(res)
  27. }