Categorygithub.com/lucsky/cuid
modulepackage
1.2.1
Repository: https://github.com/lucsky/cuid.git
Documentation: pkg.go.dev

# README

cuid

Collision-resistant hashes for the cloud, in Go.

The cuid package provides collision-resistant ids optimized for horizontal scaling and sequential lookup performance. This README file is just going to cover the basics and the Go-specific implementation details.

Please refer to the main project site for the full rationale behind CUIDs.

Sample CUID

ch72gsb320000udocl363eofy

Sample CUID Slug

ew0k9fwpl

Installation

go get -u github.com/lucsky/cuid

Example usage

package main

import (
    "crypto/rand"
    "fmt"

    "github.com/lucsky/cuid"
)

func main() {
    // Generate pseudo-random CUID
    fmt.Println(cuid.New())
    // Generate slug
    fmt.Println(cuid.Slug())

    // Generate cryptographic-random CUID
    c, err := cuid.NewCrypto(rand.Reader)
    if err != nil {
        fmt.Printf("%v", err)
        return
    }
    fmt.Println(c)
}

Go package specific features

The Go cuid package provides APIs to specify a custom random source as well as a custom counter. A custom counter implementation could provide a centralized Redis base counter, for example.

Contributors

  • Luc Heinrich (@lucsky, author)
  • Thomas Hopkins (@hopkinsth)
  • fiatjaf
  • Marcus Dantas (@mpsdantas)
  • Oscar Forner Martinez (@maitesin)
  • Mike Frey (@mikefrey)
  • Andris Mednis (@andrismednis)

# Functions

No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author

# Structs

No description provided by the author

# Interfaces

No description provided by the author