.. _rfc4122: ============== RFC 4122 UUIDs ============== .. toctree:: :titlesonly: :hidden: rfc4122/version1 rfc4122/version2 rfc4122/version3 rfc4122/version4 rfc4122/version5 rfc4122/version6 rfc4122/version7 rfc4122/version8 `RFC 4122`_ defines five versions of UUID, while a `new Internet-Draft under review`_ defines three new versions. 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 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: Custom 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://tools.ietf.org/html/rfc4122 .. _new Internet-Draft under review: https://datatracker.ietf.org/doc/html/draft-ietf-uuidrev-rfc4122bis-00
Name | Type | Size | Permission | Actions |
---|---|---|---|---|
_static | Folder | 0755 |
|
|
customize | Folder | 0755 |
|
|
nonstandard | Folder | 0755 |
|
|
reference | Folder | 0755 |
|
|
rfc4122 | Folder | 0755 |
|
|
upgrading | Folder | 0755 |
|
|
.gitignore | File | 9 B | 0644 |
|
Makefile | File | 654 B | 0644 |
|
README.md | File | 771 B | 0644 |
|
conf.py | File | 3.32 KB | 0644 |
|
copyright.rst | File | 375 B | 0644 |
|
customize.rst | File | 2.3 KB | 0644 |
|
database.rst | File | 8.12 KB | 0644 |
|
faq.rst | File | 5.35 KB | 0644 |
|
index.rst | File | 1.22 KB | 0644 |
|
introduction.rst | File | 1012 B | 0644 |
|
nonstandard.rst | File | 1.42 KB | 0644 |
|
quickstart.rst | File | 3.94 KB | 0644 |
|
reference.rst | File | 837 B | 0644 |
|
requirements.txt | File | 72 B | 0644 |
|
rfc4122.rst | File | 2.59 KB | 0644 |
|
testing.rst | File | 6.11 KB | 0644 |
|
tidelift.rst | File | 3.14 KB | 0644 |
|
upgrading.rst | File | 167 B | 0644 |
|