feat(Uuid): add module

This commit is contained in:
Matthieu Bessat 2021-10-03 10:41:29 +02:00
parent 53b5ebcb43
commit 86c2321fab
3 changed files with 39 additions and 1 deletions

View file

@ -23,7 +23,8 @@ return [
'hash' => [],
'baseconverter' => [
'alias' => ['encode', 'decode']
]
],
'uuid' => []
],
'auth' => [
'root' => 'password'

27
modules/uuid/uuid.php Normal file
View file

@ -0,0 +1,27 @@
<?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;

View file

@ -0,0 +1,10 @@
<?php
return [
'actions' => [
[
'name' => 'Generate compact uuid',
'path' => '/?compact=yes'
]
]
];