Laravel package to generate a UUID according to the RFC 4122 standard. Only support for version 1, 3, 4 and 5 UUID are built-in.
Add webpatser/laravel-uuid
to composer.json
.
"webpatser/laravel-uuid": "1.*"
Run composer update
to pull down the latest version of Laravel UUID.
Edit app/config/app.php
and add the alias
'aliases' => array(
'Uuid' => 'Webpatser\Uuid\Uuid',
)
To quickly generate a UUID just do
Uuid::generate()
This will generate a version 1 with a random ganerated MAC address.
Generate a version 1, time-based, UUID. You can set the optional node to the MAC address. If not supplied it will generate a random MAC address.
Uuid::generate(1,'00:11:22:33:44:55');
Generate a version 3, name-based using MD5 hashing, UUID
Uuid::generate(3,'test', Uuid::nsDNS);
Generate a version 4, truly random, UUID
Uuid::generate(4);
Generate a version 5, name-based using SHA-1 hashing, UUID
Uuid::generate(5,'test', Uuid::nsDNS);
To import a UUID
$uuid = Uuid::import('d3d29d70-1d25-11e3-8591-034165a3a613');
Extract the time for a time-based UUID (version 1)
$uuid = Uuid::generate(1);
dd($uuid->time);
Extract the version of an UUID
$uuid = Uuid::generate(4);
dd($uuid->version);
Full details on the UUID specification can be found here
If used on windows it will use the CAPICOM getRandom method