- Notifications
You must be signed in to change notification settings - Fork0
valid is a generator of random IDs. It is sortable and can be validated using a checksum.
License
NotificationsYou must be signed in to change notification settings
juntaki/valid
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
valid is a library for generating random ID, with the default configuration as follows
- 5 bytes timestamp
- 14 bytes of random bytes
- 1 byte checksum
Features:
- Cryptographically secure (use of crypto/rand)
- Lexicographically sortable
- Allows validation of ID
- Word safe and URL safe characters
- Embedded time with millisecond precision
In addition, most of the features can be changed by configuration.
Name | Secure Random Bit Size | String ID Size | Sortable | Checksum |
---|---|---|---|---|
google/uuid | 122 bits | 36 chars | no | no |
oklog/ulid | 80 bits (user defined source) | 26 chars | yes | no |
rs/xid | n/a (not cryptographically secure) | 20 chars | yes | no |
valid (default) | 112 bits | 32 chars | yes | yes |
valid (configurable) | any | depends on config | yes / no | yes / no |
go get github.com/juntaki/valid
id:=valid.Generate()fmt.Println(id,len(id),valid.IsValid(id),valid.Timestamp(id))// Output: 2X9P75FX2pJqCcHRVWV2862JW6XhFr6x 32 true 2021-09-08 23:59:17.339250688 +0900 JST
About
valid is a generator of random IDs. It is sortable and can be validated using a checksum.
Resources
License
Stars
Watchers
Forks
Packages0
No packages published