--- title: golang ID混淆 date: 2020-07-08 14:00:00 tags: Golang categories: 编程语言 --- ## golang ID混淆 ### 用命令获取第三方包 ```bash go get -u -v github.com/speps/go-hashids ``` ### 实现如下 ```go 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] } ```