wrangler/pkg/randomtoken/token.go

26 lines
436 B
Go

package randomtoken
import (
"crypto/rand"
"math/big"
)
const (
characters = "bcdfghjklmnpqrstvwxz2456789"
tokenLength = 54
)
var charsLength = big.NewInt(int64(len(characters)))
func Generate() (string, error) {
token := make([]byte, tokenLength)
for i := range token {
r, err := rand.Int(rand.Reader, charsLength)
if err != nil {
return "", err
}
token[i] = characters[r.Int64()]
}
return string(token), nil
}