Генератор UUID

Генератор UUID онлайн: Создание универсальных уникальных идентификаторов (RFC 4122)

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

Бесплатный онлайн-генератор instrumo.ru позволяет моментально генерировать строгие по стандарту RFC 4122 идентификаторы. Инструмент поддерживает массовую генерацию (до 500 штук за раз), 4 базовые версии алгоритма (v1, v3, v4, v5), гибкую настройку форматов вывода и полностью работает на стороне вашего браузера.

Зачем разработчикам нужен UUID?

В классических реляционных БД часто используются автоинкрементные ключи (например, id = 1, 2, 3). Однако при масштабировании такие ключи создают проблемы.

Использование UUID решает фундаментальные архитектурные задачи:

  • Распределенные системы: Вы можете генерировать UUID независимо на сотнях микросервисов без риска возникновения конфликтов (коллизий) при слиянии баз данных.
  • Безопасность API: Автоинкрементные ключи легко перебрать (IDOR-уязвимости). Угадать или перебрать 128-битный UUID математически невозможно.
  • Идемпотентность транзакций: Генерация UUID на клиенте перед отправкой платежа гарантирует, что при разрыве сети и повторной отправке платеж не будет списан дважды.

Различия версий UUID (v1, v3, v4, v5)

Существует несколько алгоритмов генерации, выбор которых зависит от ваших бизнес-требований.

Версия Основа алгоритма Детерминированность Когда использовать?
v1 Текущее время (Timestamp) + MAC-адрес узла Случайный / Временной В хронологически-зависимых логах БД. Позволяет сортировать записи по времени создания, но раскрывает MAC-адрес (снижает анонимность).
v3 MD5-хеш (Пространство имен + Имя) Детерминированный Когда нужно всегда получать одинаковый UUID для одних и тех же входных данных (например, для URL instrumo.ru).
v4 Криптографически стойкие случайные числа Полностью случайный Самый популярный стандарт. Универсальное решение для первичных ключей (Primary Keys) в БД, токенов сессий, имен загружаемых файлов.
v5 SHA-1-хеш (Пространство имен + Имя) Детерминированный Аналог версии v3, но с более надежным алгоритмом хеширования SHA-1. Рекомендуется вместо v3.

Структура 128-битного UUID

В текстовом представлении UUID выглядит как 32 шестнадцатеричных символа (от 0 до f), разделенных дефисами по схеме 8-4-4-4-12 (всего 36 символов).

Пример типичного UUID v4: 550e8400-e29b-41d4-a716-446655440000

Анатомия UUID:

  1. time_low (8 символов): 550e8400
  2. time_mid (4 символа): e29b
  3. time_hi_and_version (4 символа): 41d4Первая цифра (4) строго указывает на версию UUID.
  4. clock_seq_and_variant (4 символа): a716Первая цифра (от 8 до b) указывает на вариант RFC.
  5. node (12 символов): 446655440000В версии v1 здесь находится MAC-адрес сетевой карты.

Какова вероятность коллизии (совпадения) в v4?

Количество возможных вариантов UUID v4 составляет $2^{122}$ (так как 6 бит зарезервировано). Это число: $5.3 \times 10^{36}$. Чтобы шанс коллизии достиг хотя бы $50\%$, вам нужно генерировать по 1 миллиарду UUID в секунду непрерывно на протяжении 85 лет. Уникальность практически абсолютна.

Чем UUID отличается от GUID?

В среде разработчиков эти термины часто вызывают путаницу. GUID (Globally Unique Identifier) — это просто название стандарта UUID, используемое в экосистеме Microsoft (.NET, Windows OS, SQL Server). С технической точки зрения (формат, длина, уникальность) современный GUID является полным синонимом UUID (в основном версии v4). Различия встречаются лишь во внутреннем бинарном порядке байтов при хранении в Microsoft SQL Server, но текстовое представление идентично.

Как работать с генератором instrumo.ru?

  1. Выберите версию: Для $95\%$ задач выбирайте v4 (Случайный). Если нужно создавать хеши из строк (например, из email-адресов), выберите v5.
  2. Настройте вывод: В некоторых базах данных или системах (например, в реестре Windows) требуется оборачивать идентификаторы в фигурные скобки {...} или сохранять их без дефисов. Выберите нужный формат и регистр в настройках.
  3. Количество: Укажите, сколько адресов вам нужно (до 500 штук) и нажмите кнопку генерации.
  4. Экспорт: Вы можете скопировать отдельный UUID по кнопке рядом с ним, либо выгрузить весь пул в текстовый файл (.txt) или таблицу (.csv).

Другие калькуляторы