package main
import (
"crypto/rand"
"encoding/base64"
"encoding/hex"
"fmt"
)
func randomBytes(n int) ([]byte, error) {
b := make([]byte, n)
_, err := rand.Read(b)
return b, err
}
func RandomHex(n int) string {
b, _ := randomBytes(n)
return hex.EncodeToString(b)
}
func RandomURLToken(n int) string {
b, _ := randomBytes(n)
return base64.RawURLEncoding.EncodeToString(b)
}
func main() {
fmt.Println(RandomHex(16)) // 32-char hex string
fmt.Println(RandomURLToken(32)) // URL-safe ~43-char token
// ⚠️ NEVER use math/rand for secrets — its sequence is predictable.
}
Create a free account and build your private vault. Share publicly whenever you want.