TABLE OF CONTENTS
- 1. UUIDs/UUIDs.V1
- 1.1. UUIDs.V1/V1.UUID1
UUIDs/UUIDs.V1 [ Packages ]
[ Top ] [ UUIDs ] [ Packages ]
DESCRIPTION
UUIDv1 as described in RFC-9562 5.1: https://www.ietf.org/rfc/rfc9562.html#section-5.1
SOURCE
package UUIDs.V1 is
UUIDs.V1/V1.UUID1 [ Subprograms ]
[ Top ] [ UUIDs.V1 ] [ Subprograms ]
SOURCE
function UUID1 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 UUIDv1 generated by the function.
EXAMPLE
-- -- Generate a UUID based on the current time. -- My_UUID : UUID := V1.UUID1;
SEE ALSO
Please see RFC-9562 5.1 for a full description: https://www.ietf.org/rfc/rfc9562.html#section-5.1
NOTES
As per RFC-9562 5.7, it is only recommended to utilize UUIDv1 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
UUIDv1 is a time-based UUID generated by using a timestamp based on a count of 100-nanosecond intervals since 00:00:00.00, 15 October 1582 (the date of Gregorian reform to the Christian calendar), a Node ID that remains static and is unique to the system such as a MAC address, and an ever-incrementing clock sequence field to help avoid duplicates that could arise when the clock is set backwards in time or if the Node ID changes. 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.