MattKetmo
1/12/2015 - 9:46 AM

Uuid representation

Uuid representation

<?php

require __DIR__.'/vendor/autoload.php';

use Rhumsaa\Uuid\Uuid;

function printId(Uuid $uuid) {
    $asString = $uuid->toString();
    $base64 = preg_replace('/==$/', '', base64_encode($uuid->getBytes()));

    echo sprintf(
        '%s (%d) => %s (%d)',
        $asString,
        strlen($asString),
        $base64,
        strlen($base64)
    ).PHP_EOL;
}

printId(Uuid::uuid1());
printId(Uuid::uuid3(Uuid::NAMESPACE_DNS, 'php.net'));
printId(Uuid::uuid4());
printId(Uuid::uuid5(Uuid::NAMESPACE_DNS, 'php.net'));

// Output:
// 71c8851a-9a55-11e4-8e91-7831c1cda656 (36) => cciFGppVEeSOkXgxwc2mVg (22)
// 11a38b9a-b3da-360f-9353-a5a725514269 (36) => EaOLmrPaNg+TU6WnJVFCaQ (22)
// 6c18d72a-1b7e-4afa-9bc1-1b1f5d34d7ce (36) => bBjXKht+SvqbwRsfXTTXzg (22)
// c4a760a8-dbcf-5254-a0d9-6a4474bd1b62 (36) => xKdgqNvPUlSg2WpEdL0bYg (22)