Генератор UUID v4 и v7

UUID v4 и v7 пачками, плюс разбор версии и времени создания.

Версия

Проверить и разобрать UUID

Файлы обрабатываются прямо в браузере и никуда не загружаются.

Что такое UUID

UUID (Universally Unique Identifier) — 128-битное число, записанное как 32 шестнадцатеричных знака и разделённое дефисами на пять групп: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx. Его используют как идентификатор записи в базе данных, ключ сессии или имя файла, когда важно не завязываться на центральный счётчик: два UUID, сгенерированные независимо на разных серверах, практически никогда не совпадут.

Версии

Версия 4 — случайная: 122 бита из 128 получены от генератора случайных чисел браузера (crypto.getRandomValues), остальные 6 бит фиксируют версию и вариант. Версия 7 добавляет сверху метку времени в миллисекундах — такие идентификаторы растут по порядку, что ускоряет вставку в индексы баз данных вроде PostgreSQL или MySQL по сравнению со случайным v4.

Настройки вида

Можно получить сразу пачку UUID — от 1 до 1000 штук за раз, вывести их прописными буквами, в фигурных скобках (формат, который использует Windows и некоторые COM-интерфейсы) или без дефисов — компактная запись из 32 символов подряд.

Проверка своего UUID

Поле разбора принимает UUID в любом виде — с дефисами, скобками, прописными буквами — и показывает версию, вариант (стандартный RFC 4122/9562 или устаревший) и, для версии 7, точное время создания.

Частые вопросы

В чём разница между UUID v4 и v7?
v4 — полностью случайный набор бит, без всякого порядка. v7 начинается с метки времени в миллисекундах, поэтому такие идентификаторы сортируются по времени создания и лучше подходят для первичного ключа в базе данных: новые строки физически ложатся в конец индекса, а не вразнобой.
Какова вероятность повторения UUID v4?
Практически нулевая: 122 случайных бита дают 2^122 вариантов. Чтобы столкнуться с 50%-й вероятностью совпадения, нужно сгенерировать около 2,7 квинтиллиона UUID — этого не случится ни при одной реальной нагрузке.
Как посмотреть, когда был создан UUID v7?
Вставьте его в поле «Проверить и разобрать UUID» ниже — если версия окажется 7-й, инструмент извлечёт первые 48 бит и покажет дату и время создания с точностью до миллисекунды.

Обновлено