A UUID (Universally Unique Identifier) can be used for multiple purposes, from
tagging objects with an extremely short lifetime, to reliably identifying very
persistent objects across a network, particularly (but not necessarily) as part
of an ASN.1 object identifier (OID) value, or in a Uniform Resource Name (
URN).
UUIDs
are an octet string of 16 octets (128 bits). The 16 octets can be interpreted as
an unsigned integer encoding, and the resulting integer value can be used as a
subsequent arc of
{joint-iso-itu-t uuid(25)} (or
2.25) in the
OID tree. This enables users
to generate OIDs without any registration procedure.
UUIDs forming a
component of an OID are represented in ASN.1 value notation as the decimal
representation of their integer value, but for all other display purposes it is
more usual to represent them with hexadecimal digits with a hyphen separating
the different fields within the 16-octet UUID. This representation is defined in
Rec.
ITU-T X.667 | ISO/IEC
9834-8.
Example:
f81d4fae-7dec-11d0-a765-00a0c91e6bf6 is the
hexadecimal notation that denotes the same UUID as
329800735698586629295641978511506172918 in decimal
notation.
UUIDs are also known as Globally Unique Identifiers (GUIDs),
but this term is not used in Rec.
ITU-T X.667 | ISO/IEC 9834-8. UUIDs
were originally used in the Network Computing System (
NCA) and later in the
Open Software Foundation's Distributed Computing Environment (
DCE).
ISO/IEC
11578 "Remote procedure Call (RPC)" contains a short definition of
some (but not all) of the UUID formats specified in Rec.
ITU-T X.667 | ISO/IEC 9834-8 which
is consistent with all these earlier specifications.
If generated
according to one of the mechanisms defined in Rec.
ITU-T X.667 | ISO/IEC 9834-8, a
UUID is either guaranteed to be different from all other UUIDs generated before
3603 A.D., or is extremely likely to be different (depending on the mechanism
chosen). The UUID generation algorithm specified in this standard supports very
high allocation rates: 10 million per second per machine if necessary, so UUIDs
can also be used as transaction IDs.
No centralized authority is required
to administer UUIDs but automatic generation of UUIDS (using the algorithm
defined in Rec.
ITU-T X.667 |
ISO/IEC 9834-8) is provided at the top of this web
page.
Government health warning: It is important to note identical
values for a UUID might be used, although the probability of this occurring is
very small. The probability is increased if UUIDs are generated from
MD5 hash values or
pseudo-random numbers, rather than from
SHA-1
hash values and cryptographic-quality random numbers. This may cause confusion
for the users of the OID, and could be the trigger of malicious use such as
spoofing.