Skip to content
A reversible base62 ID obfuscater
Branch: master
Clone or download
Pull request Compare This branch is 47 commits ahead of kylebragger:master.
zackkitzmiller Merge pull request #29 from dangreaves/laravel-5.4
Remove use of depracated share method in Laravel 5 service provider
Latest commit e023cc1 Feb 7, 2017
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
bin Revert "Complete the League Checklist" Sep 11, 2015
src Remove use of depracated share method in Laravel 5 service provider Feb 5, 2017
tests Revert "Complete the League Checklist" Sep 11, 2015
.gitignore
.travis.yml
LICENSE.md
README.md
composer.json Revert "Complete the League Checklist" Sep 11, 2015
phpunit.xml coveralls support Apr 11, 2014

README.md

Build Status Coverage Status

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
You can’t perform that action at this time.