Генератор уникальных идентификаторов (UUID)

Далее

UUID предоставляют глобально уникальные идентификаторы без необходимости согласования с центральным органом. Этот генератор создаёт значения версий v1 (временная метка + MAC-адрес), v4 (случайные) и v7 (с префиксом из временной метки, сортируемые), соответствующие стандарту RFC 4122. Выберите нужную версию, запросите один или тысячу значений и скопируйте список в начальные данные, в генерацию ключей API или в свои модульные тесты.

Как генерировать UUIDы

  1. 1

    Выберите версию

    v4, для случайного выбора; v7, когда важен порядок сортировки; v1, когда требуется информация о времени создания данных.

  2. 2

    Выберите количество

    Один уникальный идентификатор или группа из до 10 000 объектов в одном запуске.

  3. 3

    Генерировать

    Значения используют криптографический API браузера для обеспечения криптографической случайности.

  4. 4

    Копировать или скачать

    Получите данные в виде списка по строкам, массива JSON или файла CSV.

Какую версию UUID следует использовать?

Версия Структура Лучше всего подходит для
v1 Временная метка + часы + MAC-адрес Идентификаторы журналов, где нужна хронология
v4 122 бита случайных данных Обычные уникальные идентификаторы, тестовые данные
v7 Временная метка Unix в мс + случайные данные (сортируемые) Первичные ключи в базах данных

Почему v7 становится вариантом по умолчанию

v4 случаен, что делает его крайне неудачным первичным ключом базы данных: вставки разбрасываются по всему B-дереву и снижают пропускную способность записи. v7 (финализирован в RFC 9562 в 2024 году) добавляет к UUID 48-битную миллисекундную временную метку, благодаря чему новые строки попадают в конец индекса. При этом сохраняется уникальность и отсутствие необходимости в координации, плюс примерный порядок сортировки по времени создания.

Правила формата

UUID представляет собой 128 бит, отображаемых в виде 32 шестнадцатеричных цифр по схеме 8-4-4-4-12:

018f5b9c-7d4a-7a1b-8c0e-2e1b3c4d5e6f
         ^^                ^
         ниббл версии      биты варианта
  • Ниббл версии, это 13-й символ (после 018f5b9c-7d4a-). Он равен 4 для v4, 7 для v7 и так далее.
  • Биты варианта, это первые два бита 17-го символа. Для UUID по стандарту RFC 4122 они равны 10 (старший ниббл 8/9/a/b).

Вероятность коллизии

Для v4 вероятность создания дубликата ничтожно мала: чтобы достичь 50%-ной вероятности коллизии, потребовалось бы сгенерировать 2,7 квинтиллиона (2,7 × 10¹⁸) UUID. Это больше, чем когда-либо увидит большинство баз данных. v7 использует ту же случайную «хвостовую» часть, поэтому в пределах одной миллисекунды вероятность коллизии у него такая же.

Часто задаваемые вопросы

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

При генерации с использованием CSPRNG (который этот инструмент применяет через crypto.getRandomValues) версия v4 обладает достаточной непредсказуемостью для использования в качестве токена сессии. Однако UUIDы сами по себе не являются секретами, если вам нужен секрет, просто назовите его таковым.

Да, они безопасны для URL (только шестнадцатеричные символы и дефисы). Для более компактного отображения можно закодировать исходные 128 бит в base-32 или base-62 либо использовать ULID, последовательность из 26 символов, сортируемую так же, как v7.

Генерация номеров происходит в вашем браузере, и значения никогда не передаются на сервер.

Сопутствующие инструменты

Генератор названий городов

Создавайте вымышленные названия городов, посёлков, деревень и столиц для миростроения, карт, игр, историй и тестовых данных с короткими заметками к каждому результату.

Переводчик иконок

Введите английский текст, и каждое слово из встроенного списка получит подходящий эмодзи. Скопируйте результат как текст с эмодзи.

Генератор бегущей строки

Создавайте анимированные бегущие заголовки с настраиваемой скоростью, размером шрифта и цветами. Предпросматривайте CSS-строку marquee или панель объявлений вживую в браузере.

Переводчик Эндермана

Превратите любую фразу в речь Эндермена в стиле Minecraft: растяните гласные и переверните каждое второе слово. Скопируйте результат в чат, на таблички или в посты фанатов.

Генератор пугающих текстов

Превращайте обычный текст в пугающий zalgo-/glitch-текст с помощью комбинируемых знаков Unicode. Регулируемая интенсивность. Работает в социальных сетях, Discord и большинстве шрифтов.

Генератор шрифтов для Instagram

Генерируйте Unicode-«шрифты» (жирный, курсив, рукописный, моноширинный, фрактура), которые вставляются прямо в ваше био, имя, подписи и комментарии в Instagram.

Инструмент доступен на других языках