开发者社区 问答 正文

ID生成方案递增的随机数是什么?

ID生成方案递增的随机数是什么?

展开
收起
kun坤 2020-04-23 19:09:50 1449 分享 版权
1 条回答
写回答
取消 提交回答
  • 递增的整数可以用在内部的服务中,如果用在外部,可能会泄漏信息,所以如果能产生随机数就可以解决这个问题。

    当然直接生成随机数可能比较困难,你可以在递增的整数上产生伪随机的整数,比如使用skip32, 它还可以直接进行反解码,在内部反解出原来的递增的ID,所以在一些场景的也有广泛的应用,比如在Postgrepsql中可以实现skip32 function)。

    另外一个比较常用的加密递增ID方法是hashid,它可以转换数字比如347为字符串yr8,并且还可以反解出来,提供了很多语言的实现,比如go-hashids、hashids-java、hashids.c等。

    对于64 bit的整数,你可以使用Block ciphers实现加密。也有把64 bit整数分成两部分,分别应用skip32进行加密的。

    2020-04-23 19:10:03
    赞同 展开评论
问答地址: