vanillauuid/uuid.php

28 lines
687 B
PHP
Raw Normal View History

2024-08-01 12:02:15 +01:00
<?php
2024-08-01 16:57:18 +01:00
/* VanillaUUID v1.0.1 by abbieoverflight.
2024-08-01 12:02:15 +01:00
* Licenced under the EUPLv1.2.
* https://git.colean.cc/threeoh6000/vanillauuid */
function randomLongHex() {
$byt = random_bytes(64);
return bin2hex($byt);
}
2024-08-01 12:05:38 +01:00
function genUuid4() {
2024-08-01 12:02:15 +01:00
$template = randomLongHex();
2024-08-01 16:57:18 +01:00
$ri = random_int(0b1000, 0b1011);
$encoded_byt = dechex((int)$ri);
$buildup = substr($template, 0, 8) . "-" . substr($template, 8, 4) . "-4" . substr($template, 13, 3) . "-" . $encoded_byt . substr($template, 17, 3) . "-" . substr($template, 20, 12);
2024-08-01 12:02:15 +01:00
return $buildup;
}
2024-08-01 12:05:38 +01:00
function nilUuid() {
return "00000000-0000-0000-0000-000000000000";
}
function omniUuid() {
return "FFFFFFFF-FFFF-FFFF-FFFF-FFFFFFFFFFFF";
}
2024-08-01 12:02:15 +01:00
?>