A reversible base62 ID obfuscater
Originally by Jacob DeHart, with Ruby and Python ports by Kyle Bragger
Now maintained by Zack Kitzmiller.
Install via Composer
{
"require": {
"zackkitzmiller/tiny": "1.1.0"
},
}
$tiny = new \ZackKitzmiller\Tiny('5SX0TEjkR1mLOw8Gvq2VyJxIFhgCAYidrclDWaM3so9bfzZpuUenKtP74QNH6B');
echo $tiny->to(5);
// E
echo $tiny->from('E');
// 5
You must instanciate a new instance of Tiny with a random alpha-numeric set where each character must only be used exactly once. Do NOT change this once you start using Tiny, as you won't be able to reverse.
If you're using laravel and want to use a more laravel-like and cleaner syntax you only have to follow these steps.
First open your app/config/app.php
file and scroll down to your providers and add
'providers' => array(
...
'ZackKitzmiller\TinyServiceProvider',
)
and then this to aliases
'aliases' => array(
...
'Tiny' => 'ZackKitzmiller\Facades\Tiny',
)
Lastly you run php artisan config:publish zackkitzmiller/tiny
to publish the configuration file and then run php artisan tiny:generate
to create a valid key.
echo Tiny::to(5);
// echos E
echo Tiny::from('E');
// echos 5