🆔

UUID генератор

Генерация UUID/GUID

Генерация UUID

Массовая генерация

Валидация UUID

Что такое UUID и зачем он нужен?

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

Версии UUID и их отличия

Существует несколько версий UUID, каждая из которых предназначена для определённых сценариев использования:

UUID v1 (на основе временной метки)

Генерируется на основе текущего времени и MAC-адреса сетевой карты. Гарантирует уникальность, но раскрывает время создания и адрес оборудования, что может быть нежелательно с точки зрения безопасности.

UUID v4 (случайный)

Генерируется с помощью криптографического генератора случайных чисел. Самая популярная версия благодаря простоте и отсутствию зависимости от оборудования или времени. Рекомендуется для большинства случаев использования.

UUID v5 (на основе имени с SHA-1)

Генерируется на основе пространства имён и имени с помощью хеширования SHA-1. Создаёт детерминированные UUID — одинаковый вход всегда даёт одинаковый UUID.

Где используется UUID?

  • Первичные ключи в базах данныхUUID позволяет создавать уникальные идентификаторы без централизованной координации, идеально для распределённых систем и микросервисов
  • Идентификаторы сессий и запросовОтслеживание пользовательских сессий, API запросов, транзакций в системах логирования и мониторинга
  • Именование файлов и объектовГенерация уникальных имён для загружаемых файлов, временных данных, ключей кеша
  • Распределённые системыИдентификация сущностей в микросервисах, очередях сообщений (Kafka, RabbitMQ), event sourcing
  • Тестирование и разработкаГенерация уникальных тестовых данных, ID пользователей, ID товаров для окружений разработки и тестирования
  • API интеграцииСоздание idempotency keys для предотвращения дублирующих операций, correlation IDs для трассировки запросов

Преимущества использования UUID

  • Не требуется централизованная генерация идентификаторов — каждый узел может генерировать UUID независимо
  • Гарантированная глобальная уникальность без координации между системами
  • Возможность офлайн генерации без доступа к базе данных
  • Стандартизация — UUID поддерживается всеми современными языками программирования и СУБД
  • Безопасность — случайные UUID непредсказуемы, в отличие от последовательных ID

Недостатки и ограничения

  • Большой размер (128 бит против 32-64 бит для целых чисел) увеличивает требования к хранению
  • Снижение производительности индексации в базах данных по сравнению с последовательными идентификаторами
  • Менее удобны для человека — сложно запомнить и вводить вручную
  • UUID v1 раскрывает MAC-адрес и временную метку, что может быть проблемой конфиденциальности

Лучшие практики использования UUID

  • Используйте UUID v4 для большинства случаев, когда нужны случайные уникальные идентификаторы
  • Для детерминированной генерации (одинаковый вход = одинаковый UUID) используйте UUID v5
  • В базах данных с UUID первичными ключами используйте специализированные типы (uuid в PostgreSQL) вместо строк
  • Рассмотрите использование UUIDv7 (упорядоченный по времени) для лучшей производительности индексации БД
  • Храните UUID в бинарном формате (16 байт) вместо текстового (36 символов) для экономии места
  • Используйте массовую генерацию, когда нужно создать много идентификаторов за раз

Валидация UUID

Наш инструмент включает валидацию UUID, которая проверяет корректность формата, версии и соответствие варианту согласно RFC 4122. Это полезно для проверки пользовательского ввода, отладки API интеграции или проверки корректности генерации идентификаторов в вашем приложении.

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

UUID генератор онлайн — Генерация UUID v4