[golang] json序列化时自动将id加密

栏目: Go · 发布时间: 7年前

内容简介:对于有规则的数据索引,比如用户ID,商品ID,订单编号,很容易第三方直接遍历抓取资源。采用

对于有规则的数据索引,比如用户ID,商品ID,订单编号,很容易第三方直接遍历抓取资源。采用 liamylian/json-hashids 进行加密,可以有效避免这类情况发生。但因为是对等加密,需注意该加密算法并不安全,使用时需注意场景,详情请见 hashids

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)
}

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

疯狂科学家大本营

疯狂科学家大本营

Bei Er Fei Ao Er / 本书翻译组 译、黄晓庆 周宇煜 张为民 审译 / Science Press / 2012-1-5 / 48.00元

美国最棒的创意工场不是贝尔实验室,不是硅谷,也不是麻省理工学院的媒体实验室,而是由五角大楼领导的绝密军事机构DARPA——国防高级研究计划局。DARPA是由美国前总统艾森豪威尔建立的军事部门,创建的目的是为了回应苏联的太空计划。 虽然DARPA属于政府机构,但是没有冷冰 冰的氛围和官僚做派,那里的科学家偏爱牛仔裤和运动鞋。不过他们最爱的还是在各个领域寻找颠覆性创意。从航空航天、IT,到能源领......一起来看看 《疯狂科学家大本营》 这本书的介绍吧!

CSS 压缩/解压工具
CSS 压缩/解压工具

在线压缩/解压 CSS 代码

随机密码生成器
随机密码生成器

多种字符组合密码

URL 编码/解码
URL 编码/解码

URL 编码/解码