php的唯一邀请码,【php】使用唯一id,生成唯一字符串订单号,唯一邀请码等唯一字符串,并可以反序列化原id...

首页

专栏

java

文章详情

2

使用唯一id,生成唯一字符串订单号,唯一邀请码等唯一字符串,并可以反序列化原id

111912.html吃馍夹菜发布于 2020-11-12

Hashids包

用来把整数生成唯一字符串(比如:通过加密解密id来隐藏真实id)

generate short unique ids from integers

官方地址

支持多种语言:

JavaScript, Ruby, Python, Java, Scala, PHP, Perl, Perl 6, Swift, Clojure, Objective-C, C, C++11, D, F#, Go, Erlang, Lua, Haskell, OCaml, Elixir, Rust, Smalltalk, ColdFusion, Kotlin, Nim, VBA, Haxe, Crystal, Elm, ActionScript, Bash, R, TSQL, PostgreSQL, PLpgSQL, Dart, Io, Julia and for .NET

下面主要介绍golang的用法:

第一步,下载包

go get github.com/speps/go-hashids

上代码

package main

import "fmt"

import "github.com/speps/go-hashids"

func main() {

hd := hashids.NewData()

hd.Salt = "wozuishuai" // 盐值,可以根据不用的业务,使用不同的盐值

hd.MinLength = 8 // 生成唯一字符串的最小长度,注意:是最小,不是固定

h, _ := hashids.NewWithData(hd)

e, _ := h.Encode([]int{2, 45, 1, 44}) // 参数的都是slice,当我们

fmt.Println(e)

d, _ := h.DecodeWithError(e)

fmt.Println(d)

}

注意:

1.hd.Salt = "this is my salt" 盐值,可以根据不用的业务,使用不同的盐值

2.hd.MinLength = 30 生成唯一字符串的最小长度,注意:是最小,不是固定,生成的有可能比该值要长

3.h.Encode([]int{45, 434, 1313, 99}),接收参数是slice,我们大多数时候使用唯一id操作,所以只需要传[]int{1},一个元素即可

4.h.DecodeWithError(e),反序列化出你的原始id,也是slice类型

5.有兴趣的可以去看看源码包.很简单

phpjavagolang后端lavarel

阅读 467更新于 2020-11-12

赞2收藏2

分享

本作品系原创,采用《署名-非商业性使用-禁止演绎 4.0 国际》许可协议

111912.html

吃馍夹菜

16声望

2粉丝

关注作者

0 条评论

得票时间

111912.html

提交评论

111912.html

吃馍夹菜

16声望

2粉丝

关注作者

宣传栏

目录

Hashids包

用来把整数生成唯一字符串(比如:通过加密解密id来隐藏真实id)

generate short unique ids from integers

官方地址

支持多种语言:

JavaScript, Ruby, Python, Java, Scala, PHP, Perl, Perl 6, Swift, Clojure, Objective-C, C, C++11, D, F#, Go, Erlang, Lua, Haskell, OCaml, Elixir, Rust, Smalltalk, ColdFusion, Kotlin, Nim, VBA, Haxe, Crystal, Elm, ActionScript, Bash, R, TSQL, PostgreSQL, PLpgSQL, Dart, Io, Julia and for .NET

下面主要介绍golang的用法:

第一步,下载包

go get github.com/speps/go-hashids

上代码

package main

import "fmt"

import "github.com/speps/go-hashids"

func main() {

hd := hashids.NewData()

hd.Salt = "wozuishuai" // 盐值,可以根据不用的业务,使用不同的盐值

hd.MinLength = 8 // 生成唯一字符串的最小长度,注意:是最小,不是固定

h, _ := hashids.NewWithData(hd)

e, _ := h.Encode([]int{2, 45, 1, 44}) // 参数的都是slice,当我们

fmt.Println(e)

d, _ := h.DecodeWithError(e)

fmt.Println(d)

}

注意:

1.hd.Salt = "this is my salt" 盐值,可以根据不用的业务,使用不同的盐值

2.hd.MinLength = 30 生成唯一字符串的最小长度,注意:是最小,不是固定,生成的有可能比该值要长

3.h.Encode([]int{45, 434, 1313, 99}),接收参数是slice,我们大多数时候使用唯一id操作,所以只需要传[]int{1},一个元素即可

4.h.DecodeWithError(e),反序列化出你的原始id,也是slice类型

5.有兴趣的可以去看看源码包.很简单

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值