- 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
Uh oh!
There was an error while loading.Please reload this page.
Stars
Watchers
Forks
Packages0
No packages published
Uh oh!
There was an error while loading.Please reload this page.