ToolActToolAct

Генератор UUID

Генерация уникальных идентификаторов по стандарту RFC 4122

Результаты0 всего

Нажмите "Сгенерировать UUID" для начала

Что такое UUID?

UUID, или Universally Unique Identifier, — это 128-битный идентификатор для записей, объектов, сессий, файлов, устройств, сообщений и других сущностей в распределенных системах. Привычная текстовая форма состоит из шестнадцатеричных групп по шаблону 8-4-4-4-12. UUID удобен, когда несколько серверов, клиентов или сервисов должны создавать ID без обращения к центральной базе за следующим последовательным номером. Разные версии используют случайность, время или хэш от пространства имен, поэтому отличаются приватность, сортируемость, предсказуемость и риск коллизий. Инструмент помогает быстро генерировать и проверять UUID, но сам идентификатор не является правом доступа или секретом. При совместном использовании нужно заранее прояснить входные данные, допущения и ожидаемый результат, чтобы вывод не поняли неверно.

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

Шаги генерации

  1. Выберите версию UUID (v1, v4 или Nil)
  2. Укажите количество генерируемых идентификаторов (1–100)
  3. Выберите регистр вывода (верхний или нижний)
  4. Выберите формат (с дефисами, без дефисов или в фигурных скобках)
  5. Нажмите кнопку «Сгенерировать» для создания идентификаторов

Горячие клавиши

  • Ctrl + GСгенерировать UUID
  • Ctrl + Shift + CСкопировать все

Примечания об идентификаторах

  • UUID v4 — обычный выбор для случайных клиентских идентификаторов: он не содержит информации о времени или устройстве.
  • Не используйте UUID в качестве секретов. Они лишь идентифицируют записи и не заменяют токены аутентификации или ключи доступа.

Применение

Пакетная генерация UUID для тестовых данныхСоздайте сразу 1, 5, 10, 20, 50 или 100 UUID, затем скопируйте отдельные значения, все разом или скачайте текстовым файлом. UUID v4 использует crypto.getRandomValues, когда доступен, а случайное зерно генерируется локально в браузере — никаких удалённых сервисов случайности или общих источников энтропии, что обеспечивает воспроизводимость тестовых данных на изолированных сетях.
Выбор версии и формата выводаГенерируйте случайные UUID v4, имитированные UUID v1 в стиле timestamp или nil UUID, затем форматируйте их с дефисами, без дефисов или в фигурных скобках и выбирайте нижний или верхний регистр. Поскольку каждый идентификатор создаётся из локального случайного зерна или timestamp с встроенным заглушечным узлом, полученные ID можно использовать в фикстурах, не раскрывая токен, специфичный для окружения.
Быстрая работа с горячими клавишамиСтраница генерирует начальный UUID при загрузке и поддерживает Ctrl+G для повторной генерации и Ctrl+Shift+C для копирования всех текущих значений. Это удобно для ID в фикстурах, seed-данных базы, трассировки запросов и примеров API. Каждая генерация берёт свежее локальное случайное зерно, поэтому ID не конфликтуют между запусками даже на устройстве, которое было офлайн несколько часов.
Генерация сортируемых идентификаторов в стиле v1Выберите UUID v1 для ID, которые должны сортироваться хронологически в индексе базы данных. Учтите, что они раскрывают timestamp и MAC-адрес, поэтому не публикуйте их там, где время создания чувствительно. Страница использует браузерный timestamp для полей времени, что сохраняет правильный порядок сортировки в тестах, но не стоит полагаться на точную корреляцию с реальными часами между разными машинами.
Проверка существующего UUID перед вставкойВставьте кандидатное значение в поле ввода — страница перерисует разобранную версию и биты варианта, чтобы вы могли обнаружить некорректные дефисы, неверную длину или нестандартный регистр до записи в базу данных. Валидация читает строку только из ввода — ничего не логируется и не отправляется, поэтому пользовательские идентификаторы можно проверить, не раскрывая их внешнему сервису.

Технический принцип

UUID — это 128-битный идентификатор в стандартном формате 8-4-4-4-12, всего 36 символов (включая 4 дефиса). 128 бит делятся на: time-low (32 бита), time-mid (16 бит), version-and-time-high (16 бит, старшие 4 бита — версия), variant-and-clock-seq (16 бит, старшие 2–3 бита — вариант) и node (48 бит). RFC 4122 определяет пять версий, от v1 до v5. v1 построен на основе 60-битной метки времени (разрешение 100 наносекунд, отсчёт от 15 октября 1582 года), 48-битного MAC-адреса и 14-битной последовательности часов. Теоретически он сортируем по времени генерации, но раскрывает идентификацию машины и время создания. v4 — наиболее широко используемая версия: 122 бита заполнены криптографически стойким случайным источником, а также фиксированные биты версии (4) и варианта (10). Вероятность коллизии — центральный вопрос в дизайне UUID. v4 имеет 122 бита случайного пространства, и по парадоксу дней рождения потребуется генерация миллиарда UUID в секунду на протяжении 85 лет непрерывно, чтобы достичь 50% вероятности одной коллизии, что на практике более чем достаточно. Новая версия v7 размещает метку времени первыми, а случайные биты — последними, обеспечивая баланс между уникальностью и временным упорядочиванием, и лучше подходит для первичных ключей баз данных.

  • UUID v4: 122 случайных бита с фиксированным битом версии 4 и битом варианта 10; подходит практически для любого сценария и не раскрывает приватных данных
  • UUID v1: 60-битная метка времени + 48-битный MAC + 14-битная последовательность часов; сортируем по времени, но раскрывает отпечаток машины — используйте с осторожностью
  • UUID v7: метка времени первыми, случайные биты последними; черновой стандарт 2024 года, разработанный специально для первичных ключей баз данных
  • Вероятность коллизии: случайное пространство v4 составляет 2^122, и для 50% вероятности одной коллизии требуется генерация миллиарда UUID в секунду на протяжении 85 лет
  • Nil UUID: все нули 00000000-0000-0000-0000-000000000000, обычно используется как заполнитель или значение по умолчанию
  • Варианты формата: помимо стандартного 8-4-4-4-12 существует 32-символьная форма без дефисов, форма в {фигурных скобках} и URN-форма (urn:uuid:...)

Примеры

Стандартный формат UUID v4 (случайный)

550e8400-e29b-41d4-a716-446655440000

Цифра версии (13-й hex-символ): 4 -> v4, случайный
Биты варианта (17-й hex-символ): 8/9/a/b -> вариант RFC 4122
Применение: первичные ключи в БД, ID запросов, ID ресурсов - выбор по умолчанию, когда порядок не важен
RFC: раздел 4.4 RFC 4122 определяет генерацию v4

Формат UUID v1 (timestamp + MAC)

c232ab00-9414-11ec-b909-0242ac120002

Цифра версии: 1 -> v1, на основе времени
Примечание: содержит timestamp генерации в time_low; последние 12 hex-символов - идентификатор узла (часто MAC)
Применение: когда нужны сортируемые ID или детерминированный источник на хост, но имейте в виду, что MAC раскрывает идентификатор хоста
RFC: раздел 4.1 RFC 4122 определяет схему v1

Пакетная генерация 5 ID версии v4

a1b2c3d4-e5f6-4789-a012-3456789abcde
f7e8d9c0-b1a2-43f4-95e6-7d8c9b0a1e2f
3c4d5e6f-7a8b-49c0-9d1e-2f3a4b5c6d7e
8e9f0a1b-2c3d-44e5-bf6a-7b8c9d0e1f2a
5f6a7b8c-9d0e-45f1-a2b3-c4d5e6f7a8b9

Примечание: каждый ID независимо берётся из crypto.getRandomValues; вероятность коллизии для 2^122 ID пренебрежимо мала согласно Приложению B RFC 4122

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

Что такое UUID?

Universally Unique Identifier — это 128-битное значение (RFC 4122/9562), обычно записываемое в виде 32 шестнадцатеричных цифр по схеме 8-4-4-4-12, например 550e8400-e29b-41d4-a716-446655440000. Разные версии кодируют время, случайные данные или хеши; их цель — быть уникальными между системами без центрального координатора.

В чём разница между UUID v1, v4 и v7?

v1 смешивает MAC-адрес хоста и 100-нс метку времени (хорошее упорядочение, но утечка данных хоста). v4 — чисто случайный (122 бита энтропии, без упорядочения). v7 (RFC 9562) ставит 48-битную Unix-ms метку в старшие биты, а младшие — случайные: сортируется как v1, но без утечки MAC. v7 — современный выбор по умолчанию для ключей БД.

UUID действительно уникальны?

Статистически — да. Если генерировать миллиард v4 UUID в секунду в течение 100 лет, вероятность коллизии будет около 50% (граница парадокса дней рождения). Для всех практических систем UUID можно считать уникальными без всякой координации.

UUID случайны и непредсказуемы?

v4 UUID — случайные и фактически непредсказуемые (122 бита энтропии). v1 UUID совсем не случайны — они раскрывают MAC и время хоста, поэтому не используйте v1 как security-токен. Префикс времени v7 тоже предсказуем; непредсказуемы только хвостовые случайные биты.

Стоит ли использовать UUID в качестве первичного ключа БД?

Это работает, но с компромиссами. Случайные v4 UUID вызывают фрагментацию B-tree в БД, кластеризующих по первичному ключу (MySQL InnoDB), и ухудшают производительность вставки на масштабе. Сортируемые v7 UUID этого избегают. Auto-increment целые всё ещё компактнее и быстрее — UUID берите там, где важна распределённая генерация.

Генерация UUID выполняется в браузере?

Да. Страница использует crypto.randomUUID (или crypto.getRandomValues для старых браузеров) — часть Web Crypto API. На сервер ничего не отправляется, а перезагрузка страницы даёт свежий поток энтропии.

Почему некоторые UUID почти одинаковы в начале?

v1 и v7 кодируют время в начальных символах, поэтому UUID, сгенерированные в одну миллисекунду, имеют общий префикс и различаются только в хвосте. Именно это и делает их естественно сортируемыми. v4 — случайные и такого свойства не имеют.

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

Счётчик токенов

Онлайн-инструмент для подсчёта токенов и оценки их количества в AI-моделях, таких как GPT и Claude. Помогает контролировать затраты на промпты.

Генератор паролей

Бесплатный онлайн-генератор надёжных паролей с настраиваемой длиной и наборами символов. Создавайте случайные пароли локально в браузере.

Инструмент случайного выбора

Бесплатный онлайн-инструмент случайного выбора для розыгрышей. Использует криптографический алгоритм для справедливости, с анимацией и опциями повторов.

Генератор хэшей

Бесплатный онлайн-генератор хэшей: MD5, SHA-1, SHA-256 и SHA-512. Мгновенно вычисляйте хэш текста для проверки целостности данных и хранения паролей.

Кодировщик/Декодировщик Base64

Онлайн-инструмент для кодирования и декодирования Base64 с поддержкой UTF-8 текста, кириллицы и изображений. Мгновенное кодирование без установки программ.

Генератор JSON Schema

Бесплатный онлайн-генератор JSON Schema, создающий соответствующие стандартам определения схем из JSON-данных. Поддерживает вложенные объекты, вывод типов массивов, настройку обязательных полей для быстрой настройки валидации данных.