martini-congrib/sessionsでセッションIDを取得するあたりのコードを読んでいて見つけたのでメモ。 だいたいこんな感じ。 io.ReadFull(rand.Reader, b)でランダムなバイト配列を取得できる。 package main import ( "crypto/rand" "encoding/base32" "fmt" "io" "strings" ) func main() { b := make([]byte, 32) _, err := io.ReadFull(rand.Reader, b) if err != nil { fmt.Println("error:", err) return } println(strings.TrimRight(base32.StdEncoding.EncodeToString(b), "=")) }