mirror of
https://github.com/ramsey/uuid.git
synced 2026-06-14 15:56:48 +03:00
58 lines
2.5 KiB
ReStructuredText
58 lines
2.5 KiB
ReStructuredText
.. _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
|