hashids
Optimus
hashids | Optimus | |
---|---|---|
6 | 2 | |
5,353 | 1,268 | |
0.4% | 0.0% | |
3.6 | 2.4 | |
3 months ago | about 1 year ago | |
PHP | PHP | |
MIT License | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
hashids
-
Show HN: Sqids (formely Hashids) – Generate short unique IDs from numbers
More than 10 years ago, I released the first version of Hashids in PHP, an encoding library to generate unique IDs from numbers [0]. Over the years, many developers have converted the library to plenty of other programming languages. It was nice to see it grow, but there were always a few things that bothered me about the original algorithm, so a few months ago I've decided to try and address those issues.
With lots of help from the community, we've rebranded the library to Sqids (you can see the proposed changes here [1]).
The new library generates unique IDs faster and with a simpler algorithm. You can read all about it on the FAQ page [2] and try it out via the playground [3]. As always, feedback is welcome via HN or Github.
[0] https://github.com/vinkla/hashids/commit/98d72eac456aabbf2da...
-
Generate unique Id
Depending on your requirements, you may also want to look at libraries that allow you to generate an ID using an existing identifier such as hashids. Unlike UUIDs (or other random values) these are predictable (if you know enough values and their original IDs, or watch new ones being created, you can reverse-engineer the mapping) but can still serve as a short, obfuscated value.
- Hashing a query?
-
How to create a unique random string in PHP and SQL relational data base ?
Sounds like you want hashids
-
Should I use a base64 ID instead of a UUID? Seems like that would be cleaner.
If you want "nice looking" IDs that are unique, you could use HashIds : https://github.com/vinkla/hashids
- API: external UUID to internal ID in validation or controller or ?
Optimus
-
PostgreSQL UUID vs. Serial vs. Identity
Yes, I completely forgot about it. I used it a few years ago, I tried also [1] which is integers instead of strings.
[1] https://github.com/jenssegers/optimus
-
API: external UUID to internal ID in validation or controller or ?
To obfuscate id there are several solutions, other than the already mentioned hashids you can try this one https://github.com/jenssegers/optimus
What are some alternatives?
laravel-hashids - A Hashids bridge for Laravel
PHP SSH - An experimental object oriented SSH api in PHP
laravel-optimus - Transform your internal id's to obfuscated integers based on Knuth's integer hash. Laravel wrapper for the Optimus Library by Jens Segers with multiple connections support.
PHP Encryption - Simple Encryption in PHP.
laravel-messenger - Simple user messaging package for Laravel
Elliptic-PHP - Fast, general Elliptic Curve Cryptography library. Supports curves used in Bitcoin, Ethereum and other cryptocurrencies (secp256k1, ed25519, ..)