對於有規則的數據索引,好比用戶ID,商品ID,訂單編號,很容易第三方直接遍歷抓取資源。採用liamylian/json-hashids進行加密,能夠有效避免這類狀況發生。但由於是對等加密,需注意該加密算法並不安全,使用時需注意場景,詳情請見hashids。git
package main import( "fmt" "github.com/liamylian/json-hashids" "time" ) var json = jsonhashids.NewConfigWithHashIDs("abcdefg", 10) type Book struct { Id int `json:"id" hashids:"true"` // 這裏要給id打上hashids的tag Name string `json:"name"` } func main() { book := Book { Id: 1, Name: "Jane Eyre", } bytes, _ := json.Marshal(book) // 輸出: {"id":"gYEL5rKBnd","name":"Jane Eyre"} fmt.Printf("%s", bytes) }