Back to Uuid

RFC 9562 (formerly RFC 4122) UUIDs

docs/rfc4122.rst

4.9.22.5 KB
Original Source

.. _rfc4122:

================================== RFC 9562 (formerly RFC 4122) UUIDs

.. toctree:: :titlesonly: :hidden:

rfc4122/version1
rfc4122/version2
rfc4122/version3
rfc4122/version4
rfc4122/version5
rfc4122/version6
rfc4122/version7
rfc4122/version8

RFC 9562_ (formerly RFC 4122_) defines eight versions of UUIDs. Each version has different generation algorithms and properties. Which one you choose depends on your use-case. You can find out more about their applications on the specific page for that version.

Version 1: Gregorian Time This version of UUID combines a timestamp, node value (in the form of a MAC address from the local computer's network interface), and a clock sequence to ensure uniqueness. For more details, see :doc:rfc4122/version1.

Version 2: DCE Security This version of UUID is the same as Version 1, except the clock_seq_low field is replaced with a local domain and the time_low field is replaced with a local identifier. For more details, see :doc:rfc4122/version2.

Version 3: Name-based (MD5) This version of UUID hashes together a namespace and a name to create a deterministic UUID. The hashing algorithm used is MD5. For more details, see :doc:rfc4122/version3.

Version 4: Random This version creates a UUID using truly-random or pseudo-random numbers. For more details, see :doc:rfc4122/version4.

Version 5: Named-based (SHA-1) This version of UUID hashes together a namespace and a name to create a deterministic UUID. The hashing algorithm used is SHA-1. For more details, see :doc:rfc4122/version5.

Version 6: Reordered Gregorian Time This version of UUID combines the features of a :ref:version 1 UUID <rfc4122.version1> with a monotonically increasing UUID. For more details, see :ref:rfc4122.version6.

Version 7: Unix Epoch Time This version of UUID combines a timestamp--based on milliseconds elapsed since the Unix Epoch--and random bytes to create a monotonically increasing, sortable UUID without the privacy and entropy concerns associated with version 1 and version 6 UUIDs. For more details, see :ref:rfc4122.version7.

Version 8: Implementation-Specific, Custom Format This version of UUID allows applications to generate custom identifiers in an RFC-compatible format. For more details, see :doc:rfc4122/version8.

.. _RFC 4122: https://www.rfc-editor.org/rfc/rfc4122 .. _RFC 9562: https://www.rfc-editor.org/rfc/rfc9562