|
@@ -1,51 +0,0 @@
|
|
|
----
|
|
|
-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
|
|
|
-
|
|
|
-```
|
|
|
-
|
|
|
-### 实现如下
|
|
|
-
|
|
|
-```golang
|
|
|
-
|
|
|
-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]
|
|
|
-}
|
|
|
-
|
|
|
-```
|
|
|
-
|