首页
专栏
java
文章详情
2
使用唯一id,生成唯一字符串订单号,唯一邀请码等唯一字符串,并可以反序列化原id
吃馍夹菜发布于 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 国际》许可协议
吃馍夹菜
16声望
2粉丝
关注作者
0 条评论
得票时间
提交评论
吃馍夹菜
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.有兴趣的可以去看看源码包.很简单