[golang] json序列化時自動將id加密
對於有規則的資料索引,比如使用者ID,商品ID,訂單編號,很容易第三方直接遍歷抓取資源。採用ofollow,noindex" target="_blank">liamylian/json-hashids 進行加密,可以有效避免這類情況發生。但因為是對等加密,需注意該加密演算法並不安全,使用時需注意場景,詳情請見hashids 。
package main import( "fmt" "github.com/liamylian/json-hashids" "time" ) var json = jsonhashids.NewConfigWithHashIDs("abcdefg", 10) type Book struct { Idint`json:"id" hashids:"true"` // 這裡要給id打上hashids的tag Namestring `json:"name"` } func main() { book := Book { Id:1, Name:"Jane Eyre", } bytes, _ := json.Marshal(book) // 輸出: {"id":"gYEL5rKBnd","name":"Jane Eyre"} fmt.Printf("%s", bytes) }