mirror of
https://github.com/ramsey/uuid.git
synced 2026-06-14 15:56:48 +03:00
49 lines
1.6 KiB
ReStructuredText
49 lines
1.6 KiB
ReStructuredText
.. _rfc4122:
|
|
|
|
==============
|
|
RFC 4122 UUIDs
|
|
==============
|
|
|
|
.. toctree::
|
|
:titlesonly:
|
|
:hidden:
|
|
|
|
rfc4122/version1
|
|
rfc4122/version2
|
|
rfc4122/version3
|
|
rfc4122/version4
|
|
rfc4122/version5
|
|
|
|
`RFC 4122`_ defines five versions of UUID. Each version has different generation
|
|
algorithms and properties. Which one you choose to use depends on your use-case.
|
|
You can find out more about their applications on the specific page for that
|
|
version.
|
|
|
|
Version 1: Time-based
|
|
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`.
|
|
|
|
|
|
.. _RFC 4122: https://tools.ietf.org/html/rfc4122
|