Skip to content

Instantly share code, notes, and snippets.

@kvn1234
Created July 2, 2018 18:53
Show Gist options
  • Save kvn1234/99b7d0725711c72c614646e8d9ca78ab to your computer and use it in GitHub Desktop.
Save kvn1234/99b7d0725711c72c614646e8d9ca78ab to your computer and use it in GitHub Desktop.
Generate v4 UUID (requires PHP 7)
<?php
/*
* this will generate a valid v4 UUID per Google's directive for use in the -sessiontoken- parameter
*/
function guidv4($data)
{
assert(strlen($data) == 16);
$data[6] = chr(ord($data[6]) & 0x0f | 0x40); // set version to 0100
$data[8] = chr(ord($data[8]) & 0x3f | 0x80); // set bits 6-7 to 10
$g = vsprintf('%s%s-%s-%s-%s-%s%s%s', str_split(bin2hex($data), 4));
return $g;
}
$guuid = guidv4(random_bytes(16));
?>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment