Skip to content
/ randid Public

🔢🔡 crypto-secure random ids generation lib for Go

License

Notifications You must be signed in to change notification settings

damdo/randid

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

randid

GoDoc Build Status Coverage Status

generate (crypto-secure) random (alphanumeric string) ids - in Go

FEATURES:

  • secure 🔒 crypto random ids thanks to crypto/rand
  • fast
  • both fixed and arbitrary long generation methods
  • tested
  • dependency-less

USAGE:

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:

Credits goes to https://github.com/moby/moby/blob/master/pkg/stringid
upon which this mini package is heavily based.

LICENSE:

The MIT License (MIT) - see LICENSE.md for more details

About

🔢🔡 crypto-secure random ids generation lib for Go

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages