Реклама

Генератор UUID

Создать уникальные UUID (универсальные уникальные идентификаторы)

-

Что такое UUID?

UUID (универсальный уникальный идентификатор) — это 128-битный идентификатор, предназначенный для того, чтобы быть уникальным во всех пространство и время. UUID стандартизированы RFC 4122, имеют формат xxxxxxxx-xxxx-Mxxx-Nxxx-xxxxxxxxxxxx , где M указывает версию, а N указывает вариант.

Этот инструмент генерирует UUID версии 4 (случайные) с использованием криптографически безопасных случайных чисел. С 122 случайных бита, вероятность столкновения астрономически мала — можно сгенерировать миллиард UUID в секунду в течение 100 лет, но вероятность появления единственного дубликата все еще составляет менее 50%.

Объяснение версий UUID

Версия 1 (на основе времени)

На основе метки времени и MAC адрес. Сортировка по времени, но позволяет определить личность устройства.

Версия 3 (хэш MD5)

Создается из пространства имен и имя с помощью MD5. Один и тот же ввод всегда создает один и тот же UUID.

Версия 4 (Случайная) ✓ Этот инструмент

Генерируется случайным образом. Наиболее распространенный выбор уникальных идентификаторов. Никакой утечки информации.

Версия 5 (хэш SHA-1)

Как и v3, но использует SHA-1. Предпочтительный более v3 для UUID на основе имени.

Версия 7 (по времени)

Новый стандарт с временной меткой Unix. Сортируемый, случайный и не раскрывает MAC-адрес.

Общие случаи использования

🗄️ Первичные ключи базы данных

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

🔐 Идентификаторы сеансов и токенов

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

📁 Именование файлов и ресурсов

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

🔄 Распределенные системы

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

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

Получу ли я когда-нибудь дубликат UUID?

Практически нет. UUID версии 4 имеет 2¹²² возможных значения (5,3 × 10³⁶). Чтобы иметь 50% вероятность столкновения, вам потребуется сгенерировать около 2,7 × 10¹⁸ UUID — это 2,7 квинтиллиона.

Должен ли я использовать UUID или автоинкрементные идентификаторы?

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

Подходят ли UUID для производительность базы данных?

Случайные UUID могут вызвать фрагментацию индекса B-дерева. Рассмотрите возможность использования UUID v7 (по времени) или сохранение как двоичный (16) вместо varchar (36) для повышения производительности. Некоторые базы данных имеют собственные типы UUID.

Какая разница между UUID и GUID?

По сути, это одно и то же. GUID (глобальный уникальный идентификатор) — это термин Microsoft. для UUID. Оба относятся к 128-битным идентификаторам, соответствующим одной и той же спецификации.

Справочник формата UUID

Стандарт: 550e8400-e29b-41d4-a716-446655440000
Без тире: 550e8400e29b41d4a716446655440000
Фигурные скобки: {550e8400-e29b-41d4-a716-446655440000}
URN: urn:uuid:550e8400-e29b-41d4-a716-446655440000
Прописные буквы: 550E8400-E29B-41D4-A716-446655440000
Реклама