package random import ( "crypto/rand" "math/big" ) const letters = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz" // Generate generates a random string of n bytes. func Generate(n int) (string, error) { b := make([]byte, n) for i := 0; i < n; i++ { num, err := rand.Int(rand.Reader, big.NewInt(int64(len(letters)))) if err != nil { return "", err } b[i] = letters[num.Int64()] } return string(b), nil } func GenerateWebhookSecret() (string, error) { return Generate(32) }