> 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-000000000000 | Nil UUID (все биты 0) |
| ffffffff-ffff-ffff-ffff-ffffffffffff | Max 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 лет вероятность коллизии намного меньше одной на миллиард — при условии криптографически качественного генератора случайных чисел.