Стандартизированные идентификаторы
UUID s определены в RFC 4122 . Это универсальные уникальные идентификаторы, которые могут быть созданы без использования централизованных полномочий. Существует четыре основных типа UUID, которые используются в немного разных сценариях. Все UUID имеют длину 128 битов, но обычно представлены в виде 32 шестнадцатеричных символов, разделенных четырьмя дефисами.
UUID версии 1, наиболее распространенные, сочетают MAC-адрес и временную метку для обеспечения достаточной уникальности. В случае, если несколько UUID генерируются достаточно быстро, чтобы временная метка не увеличивалась до следующего поколения, временная метка вручную увеличивается на 1. Если MAC-адрес недоступен или его присутствие нежелательно по соображениям конфиденциальности, 6 случайным образом Вместо идентификатора узла могут использоваться байты, полученные из криптографически безопасного генератора случайных чисел.
UUID версии 3 и версии 5, наименее распространенные, используют хеш-функции MD5 и SHA1 соответственно, плюс пространство имен и уже уникальное значение данных для создания уникального идентификатора. Это можно использовать, например, для генерации UUID из URL.
UUID версии 4 - это просто 128 бит случайных данных, с небольшим количеством битов для идентификации версии и варианта UUID.
UUID коллизии крайне вряд ли произойдут, особенно не в одном пространстве приложения.