uuid | guid | генерация

> uuid | guid | генерация <

// Генерируйте универсально уникальные идентификаторы (UUID/GUID) мгновенно

[БЕЗОПАСНО]

Криптографическая случайность

UUID v4 использует crypto.getRandomValues() для криптографически безопасной генерации. Ваши данные никогда не покидают ваш браузер.

[МАССОВО]

Пакетная генерация

Генерируйте до 100 UUID за раз. Идеально для заполнения баз данных, тестирования и рабочих процессов разработки.

[БЕСПЛАТНО]

Несколько версий

Поддержка UUID v4 (случайный) и v1 (временная метка). Выберите версию, подходящую для вашего случая.

// О ГЕНЕРАЦИИ UUID

Как работает UUID:

UUID (Universally Unique Identifier) — это 128-битный идентификатор, стандартизированный RFC 4122. UUID v4 использует 122 случайных бита, обеспечивая 2^122 возможных значений. Формат из 36 символов следует шаблону 8-4-4-4-12 со встроенными битами версии и варианта.

Пример:

550e8400-e29b-41d4-a716-446655440000

Распространённые случаи использования:

  • >Первичные ключи баз данных и идентификаторы записей
  • >Распределённые системы без центральной координации
  • >Токены сессий и идентификаторы корреляции
  • >Именование файлов и идентификация ресурсов
  • >Отслеживание API-запросов и журналирование

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

В: Что такое UUID?

О: UUID (Universally Unique Identifier) — это 128-битное число, используемое для уникальной идентификации информации в компьютерных системах. Также известен как GUID (Globally Unique Identifier). Стандартный формат — 8-4-4-4-12 шестнадцатеричных символов, разделённых дефисами.

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

О: UUID v4 генерируется с использованием случайных чисел и является наиболее используемой версией. UUID v1 основан на текущей временной метке и идентификаторе узла. V4 предпочтителен для большинства приложений из-за простоты и конфиденциальности.

В: Какова вероятность коллизии UUID?

О: UUID v4 имеет 122 случайных бита, что даёт 2^122 (примерно 5,3 x 10^36) возможных значений. Вероятность генерации дубликата астрономически мала.

В: В чём разница между UUID и GUID?

О: UUID и GUID — по сути одно и то же. UUID — термин, используемый в большинстве стандартов, а GUID — термин, распространённый в технологиях Microsoft.

В: Что такое RFC 4122?

О: RFC 4122 — это интернет-стандарт, определяющий формат UUID, алгоритмы генерации и соглашения об именных пространствах. Он определяет пять версий UUID (v1–v5).

// Особые значения UUID

Эти фиксированные значения определены в RFC 9562.

UUIDЗначение
00000000-0000-0000-0000-000000000000Nil UUID (все биты 0)
ffffffff-ffff-ffff-ffff-ffffffffffffMax UUID (все биты 1)
6ba7b810-9dad-11d1-80b4-00c04fd430c8Пространство имён DNS (для v3/v5)

// Генерация UUID в коде

JavaScript   crypto.randomUUID()
Python       str(uuid.uuid4())
PHP          Ramsey\Uuid\Uuid::uuid4()->toString()
Go           uuid.NewString()
Java         UUID.randomUUID()
C# / .NET    Guid.NewGuid()
PostgreSQL   gen_random_uuid()
MySQL        UUID()
Bash         uuidgen

>> Другие вопросы

В: Что выбрать для первичного ключа: UUID v4 или v7?

О: v7 начинается с метки времени, поэтому примерно сортируется по времени создания и эффективно вставляется в B-tree-индексы. v4 полностью случаен и в больших таблицах вызывает сильно разбросанные вставки. Выбирайте v7, если важны порядок и производительность индекса, и v4, если идентификатор не должен раскрывать время.

В: Как лучше хранить UUID в базе данных?

О: Используйте нативный тип, если он есть (например, uuid в PostgreSQL). Иначе предпочитайте BINARY(16) вместо CHAR(36): меньше половины места и быстрее сравнения и индексы.

В: Какова вероятность получить два одинаковых UUID v4?

О: У UUID v4 122 случайных бита. Даже при миллиарде UUID в секунду в течение 100 лет вероятность коллизии намного меньше одной на миллиард — при условии криптографически качественного генератора случайных чисел.

// ДРУГИЕ ЯЗЫКИ