Help us shape the future of Go! Take the 2026 Go Developer Survey

randstr

package module
v1.0.7 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 7, 2026 License: MIT Imports: 3 Imported by: 349

README

Randstr

GoDoc

Randstr is an Go library for generating secure random strings

Install

  go get -u github.com/thanhpk/randstr

Usage

Generate a random hex string
token := randstr.Hex(16) // generate 128-bit hex string

Running example

  package main
  import(
    "github.com/thanhpk/randstr"
    "fmt"
  )

  func main() {
    for i := 0; i < 5; i++ {
      token := randstr.Hex(16) // generate 128-bit hex string
      fmt.Println(token)
    }
  }
  // Output:
  // 67aab2d956bd7cc621af22cfb169cba8
  // 226eeb52947edbf3e97d1e6669e212c2
  // 5f3615e95d103d14ffb5b655aa0eec1e
  // ff3ab4efbd74025b87b14b59422d304c
  // a6705813c174ca73ed795ea0bab12726
Generate a random ASCII string
token := randstr.String(16) // generate a random 16 character length string

Running example

  package main
  import(
    "github.com/thanhpk/randstr"
    "fmt"
  )

  func main() {
    for i := 0; i < 5; i++ {
      token := randstr.String(16)
      fmt.Println(token)
    }
  }
  // Output:
  // 7EbxkrHc1l3Ahmyr
  // I5XH2gc1EEHgbmGI
  // GlCycMpsxGkn9cDQ
  // U2OfBDQoak0z8FwV
  // kDX1m81u14YwEiCY
Generate a random decimal number string
token := randstr.Dec(16) // generate a random 16 length string of decimal number

Running example

  package main
  import(
    "github.com/thanhpk/randstr"
    "fmt"
  )

  func main() {
    for i := 0; i < 5; i++ {
      token := randstr.Dec(16)
      fmt.Println(token)
    }
  }
  // Output:
	//1232392418047380
	//9160917876815937
	//6629264107419930
	//0271037110897873
	//0337735480322223

License

MIT

Documentation

Overview

Package randstr provides basic functions for generating random bytes, string

Index

Examples

Constants

View Source
const Base62Chars = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"
View Source
const Base64Chars = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ+/"
View Source
const DecChars = "0123456789"
View Source
const HexChars = "0123456789abcdef"

Variables

This section is empty.

Functions

func Base62

func Base62(n int) string

Base62 generates a random Base62 string with length of n

Example: 1BsNqB61o4ztSqLC6labKGNf4MYy352X

Example
for i := 0; i < 5; i++ {
	token := Base62(16)
	fmt.Println(token)
}
Output:
DVosDCoMShcJ3G1X
uxF6JGne4gI5M74K
fed6PPJPApmrt5p4
JwQ1QUMuNxPkKqgN
DkiEUP32DqgBUwej

func Base64

func Base64(n int) string

Base64 generates a random Base64 string with length of n

Example: X02+jDDF/exDoqPg9/aXlzbUCN93GIQ5

Example
for i := 0; i < 5; i++ {
	token := Base64(16)
	fmt.Println(token)
}
Output:
jEivTuka++OZsN4w
/sbBr4mBF/lgnh3e
0jhwQUFEUYw0Y8FG
CIy0D4/diZmD8WW8
40zek8qIvfn26akN

func Bytes

func Bytes(n int) []byte

Bytes generates n random bytes. A non-positive n returns an empty slice.

func Dec added in v1.0.5

func Dec(n int) string

Dec generates a random decimal number string with length of n

Example: 37110235710860781655802098192113

Example
for i := 0; i < 5; i++ {
	token := Dec(16)
	fmt.Println(token)
}
Output:
1232392418047380
9160917876815937
6629264107419930
0271037110897873
0337735480322223

func Hex

func Hex(n int) string

Hex generates a random Hexadecimal string with length of n

Example: 67aab2d956bd7cc621af22cfb169cba8

Example
for i := 0; i < 5; i++ {
	token := Hex(16)
	fmt.Println(token)
}
Output:
e83f2b2af67d616a
deb3430f4e827df8
c1da2016675b8efe
f41b0d7600cb15fe
685458e8c898545d

func String

func String(n int, letters ...string) string

String generates a random string using only letters provided in the letters parameter.

If user omits letters parameter, this function will use Base62Chars instead. A non-positive n, or an empty letters alphabet, returns an empty string.

Example
for i := 0; i < 5; i++ {
	token := String(16)
	fmt.Println(token)
}
Output:
7EbxkrHc1l3Ahmyr
I5XH2gc1EEHgbmGI
GlCycMpsxGkn9cDQ
U2OfBDQoak0z8FwV
kDX1m81u14YwEiCY

Types

This section is empty.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL