CodeKitHub
Русский
Генераторы

Онлайн-генератор UUID v4

Мгновенно сгенерируйте один или несколько случайных UUID (v4). Используется криптографически безопасный генератор случайных чисел вашего браузера — с тем же уровнем случайности, что и в вашей операционной системе. Доступны настройки для вывода в верхнем регистре и удаления дефисов.

Что это за инструмент?

UUID (универсальный уникальный идентификатор) — это 128-битный идентификатор, записываемый в виде 36 символов, например: 550e8400-e29b-41d4-a716-446655440000. UUID версии 4 генерируются на основе случайных данных, что делает вероятность коллизий настолько маловероятной, что на практике её можно игнорировать: можно генерировать миллиард UUID в секунду на протяжении десятилетий, прежде чем появление дубликата станет вероятным.

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

Зачем его использовать?

  • Криптографически безопасно: используется функция crypto.randomUUID(), а не уязвимая функция Math.random().
  • Массовое создание — до 500 UUID за раз, по одному в строке, готовые к вставке.
  • Варианты с использованием заглавных букв и без дефисов для систем с особыми требованиями к форматированию.
  • Работает в автономном режиме в вашем браузере; UUID никуда не отправляются.
  • Бесплатно и мгновенно, без входа в систему.

Как использовать

  1. Выберите необходимое количество UUID (от 1 до 500).
  2. При желании установите флажок «Заглавные буквы» или «Удалить дефисы».
  3. Нажмите «Сгенерировать UUID».
  4. Нажмите «Копировать всё», чтобы скопировать весь список.

Пример

Ввод

Count: 3

Результат

f47ac10b-58cc-4372-a567-0e02b2c3d479
9c858901-8a57-4791-81fe-4c455b099bc9
16fd2706-8baf-433b-82eb-8c7fada847da

Каждый UUID генерируется независимо на основе защищенных случайных данных.

Типичные сценарии использования

  • Первичные ключи базы данных: UUID позволяют генерировать допустимый идентификатор до вставки записи, что удобно для приложений, работающих в режиме «offline-first», или в случаях, когда клиенту необходимо обратиться к записи до того, как сервер подтвердит её.
  • Распределенные системы: несколько серверов могут генерировать идентификаторы независимо друг от друга без какой-либо координации и без риска коллизий — в отличие от целых чисел с автоинкрементом, для которых требуется единый авторитетный источник данных.
  • Ключи идемпотентности: отправка одного и того же UUID при повторном запросе к API позволяет серверу распознать и безопасно игнорировать дубликат запроса.
  • Тестовые наборы и исходные данные: массовое создание сотен уникальных идентификаторов за один раз для заполнения тестовой базы данных или имитации ответов API.
  • Ключи списков в React/Vue: если у элементов списка пока нет естественного уникального идентификатора, в процессе разработки в качестве стабильного ключа можно использовать сгенерированный UUID.

Ограничения, о которых следует знать

UUID нельзя сортировать по времени создания — благодаря случайному характеру v4 новые идентификаторы не располагаются рядом друг с другом в индексе базы данных, что может негативно повлиять на производительность вставки при работе с большими объёмами данных (именно поэтому в качестве альтернативы существует UUID v7, упорядоченный по временным меткам). Если вам требуется как упорядочение по времени, так и уникальность, то v7 или идентификатор в стиле Snowflake подойдут лучше, чем v4.

Сам по себе UUID не является учетными данными для обеспечения безопасности. Его невозможно угадать в том смысле, что невозможно предсказать один UUID на основе другого, но он никогда не разрабатывался с учетом таких функций, как возможность аудита, срок действия или отзыв, которые необходимы для настоящего токена аутентификации — для этих целей следует использовать специальную библиотеку токенов сеанса/API.

Как на самом деле работает принцип случайности

UUID версии 4 состоит из 122 битов, которые являются подлинно случайными (остальные 6 битов являются фиксированными и обозначают версию и вариант в соответствии со спецификацией RFC 4122). Данный инструмент получает эти случайные значения из функции crypto.getRandomValues() через Web Crypto API браузера — тот же базовый источник, который используется для ключей TLS и других криптографических операций, а не гораздо более слабую функцию Math.random(), которая настолько предсказуема, что некоторые старые библиотеки UUID, построенные на ней, подвергались критике за генерацию идентификаторов, которые можно угадать.

Чтобы конкретизировать вероятность коллизии: при использовании 122 случайных битов потребуется сгенерировать около 2,71 квинтиллиона UUID, прежде чем вероятность появления хотя бы одной коллизии достигнет 50% — это на несколько порядков больше, чем когда-либо сможет создать любое отдельное приложение. Именно поэтому UUID v4 на практике считается фактически свободным от коллизий, хотя с математической точки зрения это не является невозможным.

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

Могут ли два сгенерированных UUID совпадать?

Теоретически — да, на практике — нет. UUID версии 4 состоит из 122 случайных битов. Вероятность коллизии остается пренебрежимо малой даже после генерации триллионов таких UUID — их можно смело считать уникальными.

В чём разница между версиями UUID?

v1 основан на временной метке и MAC-адресе (происходит утечка информации), v4 является полностью случайным (наиболее распространённый вариант), v5 получается из имени путём хеширования (детерминированный), а v7 — это случайный генератор с временной упорядоченностью (подходит для индексов баз данных). Данный инструмент генерирует v4.

Являются ли эти UUID достаточно безопасными для использования в качестве токенов?

Они используют криптографически безопасный источник случайных чисел, который намного лучше, чем Math.random(). Для токенов сеанса по-прежнему предпочтительны специальные генераторы токенов с более высокой энтропией, однако для идентификаторов вполне подойдут UUID версии 4.

UUID — это то же самое, что и GUID?

Да. GUID (Globally Unique Identifier) — это название, данное компанией Microsoft тому же 128-битному формату. Эти термины являются взаимозаменяемыми.

Создаваемые UUID сохраняются или регистрируются в журнале?

Нет. Генерация UUID происходит локально в вашем браузере. Никакие данные не передаются, не сохраняются и не регистрируются — каждый UUID, который вы видите, существует только на вашем экране.

Похожие инструменты