TABLE OF CONTENTS


UUIDs/UUIDs.V3 [ Packages ]

[ Top ] [ UUIDs ] [ Packages ]

DESCRIPTION

    UUIDv3 as described in RFC-9562 5.3:
    https://www.ietf.org/rfc/rfc9562.html#section-5.3

SOURCE

package UUIDs.V3 is

UUIDs.V3/V3.UUID3 [ Subprograms ]

[ Top ] [ UUIDs.V3 ] [ Subprograms ]

SOURCE

   function UUID3 (Namespace : UUID; Name : String) return UUID;

PARAMETERS

    Namespace - UUIDS.UUID of the namespace to use.  Some pre-generated
                namespaces are available at UUIDs.Namespace_UUIDs
    Name      - String of the desired name to be hashed with the namespace

RETURN VALUE

    UUIDs.UUID - The UUIDv3 generated by the function.

EXAMPLE

   --    --  Generate a UUID based on a DNS name.
   --    My_UUID : UUID := V3.UUID3 (Namespace_DNS, "ada-lang.io");

SEE ALSO

    Please see RFC-9562 5.3 for a full description:
    https://www.ietf.org/rfc/rfc9562.html#section-5.3

NOTES

    Where possible, UUIDv5 SHOULD be used in lieu of UUIDv3 as per RFC6151
    https://www.ietf.org/rfc/rfc6151.html

FUNCTION

    UUIDv3 is meant for generating UUIDs from names that are drawn from,
    and unique within, some namespace.  They are created by computing an
    MD5 hash of a Namespace UUID concatenated with the desired name value.
    This MD5 value is then used to populate all 128 bits of the UUID, sans
    the variant / version values of the field.