generate (crypto-secure) random (alphanumeric string) ids - in Go
- secure 🔒 crypto random ids thanks to
crypto/rand
- fast ⚡
- both fixed and arbitrary long generation methods
- tested ✅
- dependency-less
download the package
go get github.com/damdo/randid
import and use the package
import (
"fmt"
"github.com/damdo/randid"
)
func foo(){
// generate a default len (32 char) id
your32CharLongID, err := randid.ID()
// -> 26e99c11f0a31ec57924c8e2a0712cd3
if err != nil {
fmt.Println(err)
}
// or
desiredLen := 64
your64CharLongID, err := randid.SizedID(desiredLen)
// -> 6cc77090ff64c232613574bb562510f78d88a84e8351f3a68ac1caa902750bb7
if err != nil {
fmt.Println(err)
}
// change randid default len
// every id generated from now on with .ID() will be 33 char long
randid.DefaultLen = 33
your33CharLongID, err := randid.ID()
// -> 091015d5146b6d2e3f77ff50d805cee50
if err != nil {
fmt.Println(err)
}
}
Credits goes to https://github.com/moby/moby/blob/master/pkg/stringid
upon which this mini package is heavily based.
The MIT License (MIT) - see LICENSE.md
for more details