Теория
UUID — 128-битный уникальный идентификатор, записываемый 32 шестнадцатеричными цифрами с дефисами: \(8-4-4-4-12\). Случайность настолько велика, что два одинаковых UUID практически невозможны — \(2^{122}\) вариантов у версии 4.
Версии различаются источником: v4 полностью случайна, v1 включает метку времени и MAC-адрес, v7 — метку времени и случайность (удобна для сортировки в базах данных). UUID используют как первичные ключи и имена объектов.
Важно: уникальность вероятностная — теоретически коллизия возможна, но её вероятность сравнима с космическими совпадениями.
Пример с решением
- Условие. Сгенерируйте UUID версии 4.
- Формула. 122 случайных бита + 6 фиксированных бит версии и варианта.
- Подстановка. В позициях версии стоит «4», варианта — цифра из набора 8–B.
- Вычисление. Получается строка вида 550e8400-e29b-41d4-a716-446655440000.
- Ответ. Новый UUID; каждый запуск даёт другой результат. Калькулятор в режиме v4 сгенерирует идентификатор; режимы v1 и v7 отличаются источником случайности.
Главное
- 128 бит, формат \(8-4-4-4-12\).
- v4 — случайная, v1/v7 — со временем.
- Уникальность практически гарантирована.