go-v7.md 674 B


title: golang ID混淆 date: 2020-07-08 14:00:00

tags: Golang

golang ID混淆

用命令获取第三方包

go get -u -v github.com/speps/go-hashids

实现如下

package hashids

import (
    "github.com/speps/go-hashids"
)

//salt 盐值
const salt = "salt"

//Encode 混淆
func Encode(data int) string {
    hd := hashids.NewData()
    hd.Salt = salt
    h, _ := hashids.NewWithData(hd)
    e, _ := h.Encode([]int{data})
    return e
}

//Decode 还原混淆
func Decode(data string) int {
    hd := hashids.NewData()
    hd.Salt = salt
    h, _ := hashids.NewWithData(hd)
    e, _ := h.DecodeWithError(data)
    return e[0]
}