Что такое UUID?

Ну, что это такое?

Ответы

Ответ 1

Это идентификационный номер, который однозначно идентифицирует что-то. Идея состоит в том, что этот идентификационный номер будет универсально уникальным. Таким образом, никакие две вещи не должны иметь того же uuid. Фактически, если вы должны были генерировать 10 триллионов uuids, было бы что-то похожее на случай .00000006 вероятность того, что два uuids будут одинаковыми.

Ответ 2

UUID определены в RFC 4122. Они являются универсальными уникальными идентификаторами, которые могут быть созданы без использования централизованных полномочий. Существует четыре основных типа UUID, которые используются в несколько разных сценариях. Все UUID имеют длину 128 бит, но обычно представляют собой 32 шестнадцатеричных символа, разделенных четырьмя дефисами.

Версии 1 UUID, наиболее распространенные, объединяют MAC-адрес и временную метку для получения достаточной уникальности. В случае, когда несколько UUID генерируются достаточно быстро, чтобы временная метка не увеличивалась до следующего поколения, метка времени увеличивается вручную на 1. Если MAC-адрес недоступен или если его присутствие будет нежелательным по соображениям конфиденциальности, 6 случайных байты, полученные из криптографически защищенного генератора случайных чисел, могут использоваться вместо идентификатора node.

Версии 3 и Версии 5 UUID, наименее распространенные, используют хеш-функции MD5 и SHA1 соответственно, плюс пространство имен, а также уже уникальное значение данных для создания уникального идентификатора. Это можно использовать для генерации UUID из URL-адреса, например.

Версии 4 UUID - это всего лишь 128 бит случайных данных, с некоторым разворачиванием бит, чтобы идентифицировать версию и вариант UUID.

Коллизии UUID крайне маловероятны, особенно не в одном пространстве приложения.

Ответ 3

Это очень длинная строка бит, которая должна быть уникальной сейчас и навсегда, т.е. нет возможного столкновения с любым другим UUID, созданным вами или кем-либо еще в мире.

То, как он работает, - это просто использовать текущую временную метку и уникальное свойство, связанное с Интернетом, на компьютере, который сгенерировал его (например, IP-адрес, который должен быть уникальным в момент подключения к Интернету или MAC адрес, который является более низким уровнем, проводным идентификатором для вашей сетевой карты) является частью битовой строки.

Первоначально каждая сетевая карта в мире имеет свой собственный уникальный MAC-адрес, но в последующих поколениях вы можете изменить MAC-адрес с помощью программного обеспечения, чтобы он не был настолько надежным, как уникальный идентификатор.