TABLE OF CONTENTS
- 1. UUIDs/UUIDs.V6
- 1.1. UUIDs.V6/V6.UUID6
UUIDs/UUIDs.V6 [ Packages ]
[ Top ] [ UUIDs ] [ Packages ]
DESCRIPTION
UUIDv6 as described in RFC-9562 5.6: https://www.ietf.org/rfc/rfc9562.html#section-5.6
SOURCE
package UUIDs.V6 is
UUIDs.V6/V6.UUID6 [ Subprograms ]
[ Top ] [ UUIDs.V6 ] [ Subprograms ]
SOURCE
function UUID6 return UUID;
OPTIONS
The default source of randomness is a pseudorandom number generator. If all random data should be retrieved from system random, refer to
RETURN VALUE
UUIDs.UUID - The UUIDv6 generated by the function.
EXAMPLE
-- -- Generate a UUID based on the current time. -- My_UUID : UUID := V6.UUID6;
SEE ALSO
Please see RFC-9562 5.6 for a full description: https://www.ietf.org/rfc/rfc9562.html#section-5.6
NOTES
As per RFC-9562 5.6, it is only recommended to utilize UUIDv6 if compatibility with UUIDv1 is required. Otherwise, please consider using UUIDv7 instead for random + time based UUIDs for improved entropy characteristics over UUIDv1 or UUIDv6.
FUNCTION
UUIDv6 is similar field-compatible with UUIDv1 except re-ordered for improved DB locality. The timestamp still utilizes the Gregorian epoch with a clock sequence and Node ID ergo documentation listed for UUIDv1 applies to UUIDv6. In this library, the clock sequence is completely random and will be regenerated with each generation. The Node data is randomly-generated once at at the creation of the first v1 or v6 UUID. Any subsequent UUID will have the same Node data until the program ends.