Для разработчиков / IT

Генератор UUID

Сгенерируйте уникальный универсальный идентификатор (UUID) версии 4. Инструмент полезен для баз данных, API-ключей и идентификации объектов в распределённых системах.

Подготовка интерфейса инструмента...

Описание

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

Как это работает

UUID генерируется по стандарту RFC 9562, который определяет несколько версий алгоритмов. Каждая версия использует свой источник уникальности, что определяет область применения идентификатора.

Версия 1 (на основе времени и MAC-адреса). Идентификатор строится из текущего временного штампа и MAC-адреса сетевой карты устройства. Это гарантирует уникальность в пространстве и времени, но раскрывает информацию об устройстве, на котором был создан UUID.

Версия 4 (на основе случайных чисел). Самая популярная версия. Идентификатор генерируется из 122 случайных битов, 6 битов зарезервированы под маркеры версии и варианта. Вероятность коллизии настолько мала, что для практических целей её можно считать нулевой. Подходит для большинства задач.

Другие версии. Версия 3 и 5 используют хеширование (MD5 и SHA-1) от пространства имён и имени, что позволяет детерминированно получать один и тот же UUID для одних и тех же входных данных. Версия 7 основана на временной метке с миллисекундной точностью и случайной составляющей — удобна для сортировки в базах данных.

Инструмент генерирует UUID выбранной версии и отображает его в стандартном формате из пяти групп, разделённых дефисами. Вы можете скопировать один идентификатор или сгенерировать сразу несколько десятков списком.

FAQ

Чем UUID отличается от обычного автоинкремента в базе данных?

Автоинкремент выдаёт последовательные числа (1, 2, 3…) в рамках одной таблицы одной базы данных. UUID же уникален глобально — его можно сгенерировать на разных серверах независимо, и идентификаторы не пересекутся. Это критично для распределённых систем и микросервисов.

Какая версия UUID лучше для первичного ключа в базе данных?

Для большинства современных баз данных (PostgreSQL, MySQL) оптимальна версия 4 или версия 7. UUIDv4 прост в реализации, UUIDv7 лучше подходит для индексирования, так как содержит временную метку в начале и хорошо ложится в B-tree индексы.

Можно ли восстановить исходные данные из UUID?

Для UUIDv1 можно извлечь временную метку создания и MAC-адрес устройства. UUIDv4 полностью случаен и не содержит никакой исходной информации. UUIDv3 и v5 — это хеши, восстановить исходное имя по ним невозможно.

Какова вероятность, что дважды сгенерируется одинаковый UUIDv4?

Вероятность коллизии для UUIDv4 — примерно 1 к 2,71 × 10¹⁸ сгенерированных идентификаторов. Чтобы получить одно совпадение, нужно генерировать по миллиарду UUID в секунду на протяжении сотни лет. На практике это исключено.

Как сгенерировать UUID в командной строке?

В большинстве операционных систем есть встроенные утилиты: в Linux и macOS — команда `uuidgen`, в PowerShell для Windows — `New-Guid`. Наш онлайн-инструмент удобен, когда консоль недоступна или нужно быстро нагенерировать список идентификаторов.

Зачем нужны дефисы в UUID?

Дефисы разделяют 128-битное значение на пять групп согласно стандарту RFC 9562: 8-4-4-4-12 символов. Это не меняет значения идентификатора, но делает его удобочитаемым. В некоторых системах UUID хранят без дефисов для экономии места, но для обмена данными рекомендуется стандартный формат с дефисами.