Hashids
A hashids wrapper for Laravel & Lumen.
Installation
Laravel
Inside config/app.php add the following line in your providers
Nblackburn\Hashids\Providers\LaravelHashidsServiceProvider::class
and then simply run the following artisan command...
php artisan config:publish nblackburn/laravel-hashids
Lumen
Inside bootstrap/app.php, add the following line:
$app->register(LaravelHashids\Providers\LumenHashidsServiceProvider::class);
then add the following to your .env file:
HASHIDS_SALT = YOURSECRETKEY
HASHIDS_LENGTH = 8
HASHIDS_ALPHABET = abcedfghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPAQRSTUVWXYZ1234567890
Facade
To add facade support, firstly uncomment the following line within bootstrap/app.php:
// $app->withFacades();
then register the facade like so...
class_alias(LaravelHashids\Facades\Hashids:class, 'Hashids');
Settings
| name | description | default |
|---|---|---|
| salt | The secret used for hashing. | YOURSALTGOESHERE |
| length | The maximum length of the hash. | 10 |
| alphabet | The characters used for hashing. | abcedefghijklmnopqrstuvwxyzABCEDEFGHIJKLMNOPQRSTUVWXYZ123456890 |
Usage
Encode
Encode a series of integers
app('hashids')->encode(...$integers);
or with the facade
Hashids::encode(...$integers);
Decode
Decode a encoded string back to the original integers
app('hashids')->decode($encoded);
or with the facade
Hashids::decode($encoded)
Donations
If you find this wrapper to be useful, please consider donating.
License
This library is licensed under MIT, see license.md for details.
Log in or sign up for Devpost to join the conversation.