Бесплатные инструменты

Генератор UUID v4

Генерирует один или несколько случайных UUID версии 4 по RFC 4122, используя криптографический источник случайности браузера.

Что делает генератор UUID v4

Этот инструмент создаёт UUID версии 4 — универсальные уникальные идентификаторы — по одному или пакетами, до тысячи за раз. UUID — это 128-битное значение, записанное в виде 32 шестнадцатеричных цифр в привычной группировке 8-4-4-4-12, например f47ac10b-58cc-4372-a567-0e02b2c3d479. Вы обращаетесь к нему всякий раз, когда нужен идентификатор, который можно сгенерировать где угодно, на любой машине, не спрашивая центральную базу данных «какое число следующее?» — первичные ключи, созданные на клиенте до сохранения строки, корреляционные идентификаторы, сшивающие микросервисы и логи, ключи идемпотентности для запросов API, имена файлов и объектов, которые никогда не должны совпадать, или идентификаторы сообщений в очереди. Опции позволяют сгенерировать много за раз, переключиться на верхний регистр и убрать дефисы для контекстов, которым нужна компактная строка из 32 символов.

Как создаются UUID версии 4

Версия 4 означает «случайная». Генератор запрашивает у криптографического источника случайности браузера, crypto.getRandomValues(), 16 случайных байтов, а затем проставляет две небольшие области, чтобы сделать значение совместимым с RFC 4122. Четыре бита в седьмом байте перезаписываются для обозначения версии — именно поэтому третья группа каждого UUID v4 всегда начинается с цифры 4. Два бита в девятом байте устанавливаются в 10 для обозначения варианта, поэтому четвёртая группа всегда начинается с 8, 9, a или b. Эти шесть фиксированных битов — единственные, что не являются случайными. Остаётся 122 случайных бита, что примерно равно 5,3 × 1036 различных значений — невообразимо большое пространство.

  • Структура — xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx, где 4 — это версия, а y — одно из 8, 9, a или b.
  • Случайность — 122 бита, полученные из того же криптографического генератора, что используется для ключей и токенов, а не из Math.random().
  • Вероятность коллизии — благодаря парадоксу дней рождения вам пришлось бы сгенерировать порядка квинтиллиона (около 2,7 × 1018) UUID, прежде чем хотя бы один дубликат стал бы хотя бы на 50% вероятным.

Когда его использовать и на что обращать внимание

UUID v4 — правильный выбор, когда уникальность и децентрализованная генерация важнее порядка. Его единственный реальный недостаток в том, что он намеренно случаен, поэтому последовательные UUID не сортируются и, как первичный ключ базы данных, разбрасывают вставки по индексу вместо того, чтобы аккуратно добавляться в конец — команды, которым важна локальность индекса, иногда предпочитают упорядоченную по времени схему. Не воспринимайте UUID как секрет: на практике его невозможно угадать, но это не токен аутентификации, и он не должен сам по себе ограничивать доступ. Помните, что формы с дефисами и без дефисов представляют одно и то же значение, а сравнения должны быть нечувствительны к регистру, поскольку 4372 в шестнадцатеричном виде идентично независимо от того, записано оно в верхнем или нижнем регистре. Если вы проводите идентификаторы через сервис, те же UUID напрямую вставляются в запросы, которые вы делаете к API разработчика s4m.

Генерируется локально, никогда не загружается

Каждый UUID здесь создаётся на вашем собственном устройстве с помощью JavaScript, выполняющегося в вашем браузере; ничего не запрашивается с сервера и ничего не отправляется обратно. Идентификаторы не логируются, не сохраняются и не передаются s4m или кому-либо ещё — нет никакого цикла запрос-ответ, поэтому даже генерация тысячи за раз создаёт нулевой сетевой трафик. Это значит, что вы можете генерировать идентификаторы для приватных систем, внутренних инструментов или невыпущенных проектов с уверенностью, что они существуют только там, где вы их сгенерировали. Проверьте сами с открытой вкладкой сети или офлайн: генератор полагается исключительно на собственный криптографический источник случайности вашего браузера и продолжает работать вообще без соединения.

Эту страницу нашли по запросу

Реальные поисковые фразы, на которые отвечает эта страница — по ссылкам откроются материалы, раскрывающие тему глубже.