28 lines
650 B
PHP
28 lines
650 B
PHP
|
<?php
|
||
|
|
||
|
header("Content-Type: text/plain");
|
||
|
|
||
|
function guidv4($data = null) {
|
||
|
// Generate 16 bytes (128 bits) of random data or use the data passed into the function.
|
||
|
$data = $data ?? random_bytes(16);
|
||
|
assert(strlen($data) == 16);
|
||
|
|
||
|
// Set version to 0100
|
||
|
$data[6] = chr(ord($data[6]) & 0x0f | 0x40);
|
||
|
// Set bits 6-7 to 10
|
||
|
$data[8] = chr(ord($data[8]) & 0x3f | 0x80);
|
||
|
|
||
|
// Output the 36 character UUID.
|
||
|
return vsprintf('%s%s-%s-%s-%s-%s%s%s', str_split(bin2hex($data), 4));
|
||
|
}
|
||
|
|
||
|
$inter = guidv4();
|
||
|
|
||
|
$output = $inter;
|
||
|
if (isset($_GET['compact']) && $_GET['compact'] === 'yes') {
|
||
|
$output = str_replace('-', '', $inter);
|
||
|
}
|
||
|
|
||
|
echo $output;
|
||
|
|