password_gen.go 356 B

123456789101112131415161718192021
  1. package generator
  2. import (
  3. "crypto/rand"
  4. "encoding/base64"
  5. )
  6. const (
  7. ranPasswordByteLength = 24
  8. )
  9. // gen random base64 encoded password
  10. func GenRandomPassword() (string, error) {
  11. ranbuf := make([]byte, ranPasswordByteLength)
  12. _, err := rand.Read(ranbuf)
  13. if err != nil {
  14. return "", err
  15. }
  16. return base64.StdEncoding.EncodeToString(ranbuf), nil
  17. }