Що таке UUID v4?
UUID версія 4 — це 128-бітний ідентифікатор (рядок з 36 символів) на основі випадкових значень згідно з RFC 4122. Він складається з:
- Випадкові значення: 122 біти випадкових даних
- Біти версії: 4 біти, що вказують на версію 4 (0100)
- Біти варіанту: 2 біти, що вказують на варіант RFC 4122 (10)
Приклад формату: f47ac10b-58cc-4372-a567-0e02b2c3d479
Як працює UUID v4
- Генерує 122 біти криптографічно надійних випадкових даних
- Встановлює біти версії на 0100 (версія 4)
- Встановлює біти варіанту на 10 (стандарт RFC 4122)
- Складає як 32 шістнадцяткових цифр з дефісами: формат 8-4-4-4-12
Переваги та особливості
Переваги | Особливості |
---|---|
|
|
Структура UUID v4
Біти | Вміст |
---|---|
0-47 | Випадкові дані |
48-51 | Версія (0100 для v4) |
52-63 | Випадкові дані |
64-65 | Варіант (10 для RFC4122) |
66-127 | Випадкові дані |
UUID v4 порівняно з іншими версіями
Версія | На основі | Випадок використання | Приватність |
---|---|---|---|
UUID v1 | Час + MAC | IDs з часовим порядком | ⚠️ Розкриває MAC |
UUID v3 | Простір імен + MD5 | Детерміновані IDs | ✅ Приватний |
UUID v4 | Випадковість | Безпечні випадкові IDs | ✅ Приватний |
UUID v5 | Простір імен + SHA-1 | Детерміновані IDs | ✅ Приватний |
UUID v6 | Час (переупорядкований) | Сортовані IDs | ⚠️ Розкриває MAC |
UUID v7 | Час + випадковість | Сортовані IDs | ✅ Приватний |
Поширені випадки використання
- Ключі бази даних: Розподілені застосунки
- Токени безпеки: Системи автентифікації
- Одноразові ідентифікатори: Тимчасовий доступ
- Мультитенантні системи: Запобігання колізіям
- Ідентифікатори контенту: Управління документами
- ID запитів API: Відстеження запитів
Часті запитання
Чи є UUID v4 криптографічно безпечним?
Так. UUID v4 використовує криптографічно стійкі генератори випадкових чисел, що робить його придатним для застосунків з підвищеними вимогами до безпеки.
Чи можуть значення UUID v4 колізувати?
Теоретично так, але практично ні. З 122 випадковими бітами ймовірність колізії астрономічно мала, навіть при мільярдах згенерованих UUID.
Чи можу я отримати час створення з UUID v4?
Ні. На відміну від UUID на основі часу (v1, v6, v7), UUID v4 містить лише випадкові дані без компонента часової мітки.
Чи можна сортувати значення UUID v4 за часом створення?
Ні. Значення UUID v4 випадкові і не мають зв'язку з часом їх створення. Для сортованих ідентифікаторів розгляньте UUID v1, v6 або v7.
Чи розкривають значення UUID v4 інформацію про систему?
Ні. UUID v4 складається повністю з випадкових даних з бітами версії та варіанту, забезпечуючи повну приватність без витоку системної інформації.