zackkitzmiller / tiny
A reversible base62 ID obfuscater.
Installs: 198 980
Dependents: 1
Suggesters: 0
Security: 0
Stars: 403
Watchers: 19
Forks: 28
Open Issues: 3
Requires
- php: >=5.3.0
Requires (Dev)
- league/phpunit-coverage-listener: ~1.1
- phpunit/phpunit: ~3.7.0
This package is not auto-updated.
Last update: 2024-10-26 15:01:28 UTC
README
Tiny
A reversible base62 ID obfuscater
Authors
Originally by Jacob DeHart, with Ruby and Python ports by Kyle Bragger
Now maintained by Zack Kitzmiller.
Installation
Install via Composer
{ "require": { "zackkitzmiller/tiny": "1.2.0" }, }
Usage
$tiny = new \ZackKitzmiller\Tiny('5SX0TEjkR1mLOw8Gvq2VyJxIFhgCAYidrclDWaM3so9bfzZpuUenKtP74QNH6B'); echo $tiny->to(5); // E echo $tiny->from('E'); // 5 echo $tiny->to(126); // XX echo $tiny->from('XX'); // 126 echo $tiny->to(999); // vk echo $tiny->from('vk'); // 999
Configuration
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.
You can generate a random set from the commandline with $ ./bin/genset
Using laravel?
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.
Usage in Laravel
echo Tiny::to(999); // echos vk echo Tiny::from('E'); // echos 5