speps / go-hashids

Go (golang) implementation of http://www.hashids.org
MIT License
1.32k stars 109 forks source link
golang hashids

go-hashids Build Status GoDoc

Go (golang) v1 implementation of http://www.hashids.org under MIT License (same as the original implementations)

Original implementations by Ivan Akimov

Setup

go get github.com/speps/go-hashids/v2

CLI tool :

go get github.com/speps/go-hashids/v2/cmd/hashid

Example

package main

import "fmt"
import "github.com/speps/go-hashids/v2"

func main() {
    hd := hashids.NewData()
    hd.Salt = "this is my salt"
    hd.MinLength = 30
    h, _ := hashids.NewWithData(hd)
    e, _ := h.Encode([]int{45, 434, 1313, 99})
    fmt.Println(e)
    d, _ := h.DecodeWithError(e)
    fmt.Println(d)
}

Thanks to all the contributors

Let me know if I forgot anyone of course.

Changelog

2021/05/04

2017/05/09

2014/09/13