mirror of https://github.com/rancher/wrangler.git
26 lines
436 B
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
|
|
}
|