This package uses the classes created by hashids.org
Generate hashes from numbers, like YouTube or Bitly. Use hashids when you do not want to expose your database ids to the user.
From the command line run:
$ composer require torann/hashids
Once Hashids is installed you need to register the service provider with the application. Open up config/app.php
and find the providers
key.
'providers' => [
Torann\Hashids\HashidsServiceProvider::class,
]
There is no need to add the Facade, the package will add it for you.
Run this on the command line from the root of your project:
$ php artisan vendor:publish --provider="Torann\Hashids\HashidsServiceProvider"
A configuration file will be publish to config/hashids.php
.
Add verison 1.0 of Hashids in your composer.json
file.
"torann/hashids": "1.0.*"
And following the directions in the README on version 1.0.
Once you've followed all the steps and completed the installation you can use Hashids.
You can simply encode a single id:
Hashids::encode(1); // Returns Ri7Bi
or multiple..
Hashids::encode(1, 21, 12, 12, 666); // Returns MMtaUpSGhdA
Hashids::decode(Ri7Bi);
// Returns
array (size=1)
0 => int 1
or multiple..
Hashids::decode(MMtaUpSGhdA);
// Returns
array (size=5)
0 => int 1
1 => int 21
2 => int 12
3 => int 12
4 => int 666
2.0.0
- Upgraded to Laravel 5
- Upgraded to Hashids 1.0.5
1.0.0
-
Several public functions are renamed to be more appropriate:
- Function
encrypt()
changed toencode()
- Function
decrypt()
changed todecode()
- Function
encryptHex()
changed toencodeHex()
- Function
decryptHex()
changed todecodeHex()
Hashids was designed to encode integers, primary ids at most. Hashids is the wrong algorithm to encrypt sensitive data. So to encourage more appropriate use,
encrypt/decrypt
is being "downgraded" toencode/decode
. - Function
-
Version tag added:
1.0
-
README.md
updated
All credit for Hashids goes to Ivan Akimov (@ivanakimov), thanks to for making it!