Декодер і валідатор UUID | Аналіз версій (v1, v4, v7) і часу
Вставте ваш UUID у поле вище, і цей інструмент (UUID Parser) негайно проведе онлайн-перевірку, визначить версію, валідність та витягне приховану інформацію.
Що таке Декодер UUID?
Декодер UUID – це інструмент, який аналізує UUID (Universally Unique Identifier) та витягує з нього всю доступну інформацію. UUID – це не просто випадковий рядок символів; залежно від версії, він може містити часову мітку, інформацію про систему або хеш детермінованих даних.
Яку інформацію можна отримати з UUID?
Основна інформація про UUID
Версія UUID:
- Визначає тип та структуру UUID (v1, v3, v4, v5, v6, v7)
- Вилучається з 13-го шістнадцяткового символу
Варіант:
RFC 4122- Стандартний варіант UUIDNCS- Network Computing System (застарілий)Microsoft- Варіант Microsoft GUIDReserved- Зарезервовано для майбутнього використання
UUID v1 - Часова мітка + MAC-адреса
Що можна отримати:
- ✅ Точний час створення - дата і час з точністю до 100 наносекунд
- ✅ Послідовність годинника - порядковий номер для запобігання колізіям
- ✅ ID вузла - спочатку MAC-адреса, часто випадкові значення
Приклад:
UUID: 6ba7b810-9dad-11d1-80b4-00c04fd430c8
Версія: v1 (Часова мітка + MAC)
Варіант: RFC 4122
Дата і час: 15.10.1997 04:25:33.000
Послідовність годинника: 724
ID вузла: 00:C0:4F:D4:30:C8
Використання:
- Визначення часу створення запису
- Аудит та криміналістичний аналіз
- Налагодження проблем, залежних від часу
UUID v3/v5 - На основі хешу
Що можна отримати:
- ✅ Тип хешу - MD5 (v3) або SHA-1 (v5)
- ❌ Неможливо отримати - початковий простір імен та ім’я (односторонній хеш)
Приклад:
UUID: 886313e1-3b8a-5372-9b90-0c9aee199e5d
Версія: v5 (SHA-1 хеш)
Варіант: RFC 4122
Тип: UUID на основі хешу (детермінований)
Примітка: Початковий простір імен та ім'я не можуть бути відновлені з UUID
Використання:
- Перевірка, що UUID є детермінованим
- Ідентифікація типу UUID у базі даних
- Контроль узгодженості ідентифікаторів на основі хешу
UUID v4 - Випадковий
Що можна отримати:
- ✅ Версія - підтвердження, що є випадковим
- ✅ Варіант - стандарт RFC 4122
- ❌ Жодних додаткових даних - суто випадкові біти
Приклад:
UUID: f47ac10b-58cc-4372-a567-0e02b2c3d479
Версія: v4 (Випадковий)
Варіант: RFC 4122
Тип: Випадково згенерований UUID
Використання:
- Перевірка, що UUID є випадковим (не детермінованим)
- Перевірка правильності формату UUID
- Валідація UUID перед збереженням у базу даних
UUID v6 - Упорядкована часова мітка
Що можна отримати:
- ✅ Точний час створення - переупорядкований для кращої продуктивності БД
- ✅ Послідовність годинника - порядковий номер
- ✅ ID вузла - ідентифікатор вузла
Приклад:
UUID: 1ec9414c-232a-6b00-b3c8-9e6bdeced846
Версія: v6 (Упорядкована часова мітка)
Варіант: RFC 4122
Дата і час: 30.01.2026 14:23:45.123
Послідовність годинника: 3272
ID вузла: 9E:6B:DE:CE:D8:46
Використання:
- Визначення часу створення запису
- Аналіз хронологічного сортування в БД
- Налагодження розподілених систем
UUID v7 - Мітка часу Unix
Що можна отримати:
- ✅ Мітка часу Unix - мілісекунди від 01.01.1970
- ✅ Дата і час - стандартний формат мітки часу Unix
- ❌ Випадкова частина - не може бути декодована
Приклад:
UUID: 017f22e2-79b0-7cc3-98c4-dc0c0c07398f
Версія: v7 (Мітка часу Unix)
Варіант: RFC 4122
Дата і час: 30.01.2026 14:23:45.123
Використання:
- Отримання часу створення сучасних UUID
- Аналіз часового сортування
- Міграція даних з часовими мітками
Структура UUID
UUID має формат: xxxxxxxx-xxxx-Mxxx-Nxxx-xxxxxxxxxxxx
6ba7b810-9dad-11d1-80b4-00c04fd430c8
│ │ │ │ │ │ │ │ │ │
│ │ │ │ │ │ │ │ └───────────┴─ Вузол (48 біт)
│ │ │ │ │ │ └──┴─────────────── Послідовність годинника (14 біт)
│ │ │ │ └──┴────────────────────── Варіант (2-3 біти)
│ │ └──┴───────────────────────────── Версія (4 біти) + Time High
│ └──────────────────────────────────── Time Mid (16 біт)
└─────────────────────────────────────────── Time Low (32 біти)
Вилучення версій та варіантів
Версія (M):
- Позиція: 13-й шістнадцятковий символ
- Значення: 1-7 (різні версії UUID)
Варіант (N):
0-7: NCS (Зарезервовано)8-B: RFC 4122 (стандарт)C-D: MicrosoftE-F: Майбутнє (Зарезервовано)
Практичні приклади
Налагодження - Визначення часу створення запису
Сценарій: Користувач повідомляє, що його дані зникли. Вам потрібно з’ясувати, коли був створений запис.
UUID: 6ba7b810-9dad-11d1-80b4-00c04fd430c8
Декодовано: 15.10.1997 04:25:33.000
→ Запис було створено у 1997 році
Криміналістичний аналіз - Перевірка часової послідовності
Сценарій: Перевірка, чи відбулися події у правильній послідовності.
UUID 1: 1ec9414c-232a-6b00-b3c8-9e6bdeced846 → 30.01.2026 14:23:45
UUID 2: 1ec9414d-557b-6a00-8f32-1234567890ab → 30.01.2026 14:25:12
→ UUID 2 було створено пізніше (правильний порядок)
Ідентифікація типу UUID у базі даних
Сценарій: У вас є змішані UUID у БД, і вам потрібно знати, які з них є випадковими, а які мають часову мітку.
f47ac10b-58cc-4372-a567-0e02b2c3d479 → v4 (випадковий, без часової мітки)
6ba7b810-9dad-11d1-80b4-00c04fd430c8 → v1 (має часову мітку)
017f22e2-79b0-7cc3-98c4-dc0c0c07398f → v7 (має часову мітку)
→ Лише UUID v1 та v7 містять інформацію про час
Обмеження та що неможливо отримати
❌ UUID v3/v5 - Неможливо декодувати хеш
Неможливо:
- Відновити початковий простір імен
- Відновити початкове ім’я/значення
- З’ясувати, які дані були хешовані
Причина: MD5 та SHA-1 є односторонніми хеш-функціями.
❌ UUID v4 - Жодних прихованих даних
Неможливо:
- Отримати будь-які метадані
- Визначити час створення
- Ідентифікувати джерело
Причина: UUID v4 є суто випадковим, не містить жодної структурованої інформації.
⚠️ UUID v1/v6 - ID вузла може бути випадковим
Обмеження:
- У сучасних реалізаціях ID вузла часто є випадковим (не справжньою MAC-адресою)
- Через захист конфіденційності MAC-адреси часто замінюються випадковими значеннями
- Неможливо надійно ідентифікувати конкретну машину
Валідація UUID
Декодер також працює як валідатор UUID.
Перевірка дійсності UUID
Декодер автоматично перевіряє:
- ✅ Правильний формат (8-4-4-4-12 шістнадцяткових символів)
- ✅ Дійсні шістнадцяткові символи (0-9, a-f)
- ✅ Правильна довжина (36 символів, включаючи дефіси, 32 без них)
Розпізнавання недійсних UUID
Недійсні приклади:
❌ 6ba7b810-9dad-11d1-80b4 (занадто короткий)
❌ 6ba7b810-9dad-11d1-80b4-GHIJKLMN (недійсні символи)
❌ 6ba7b81-09dad-11d1-80b4-00c04fd4 (неправильний формат)
Для розробників
Реалізація на JavaScript
// Вилучення версії з UUID
function getUUIDVersion(uuid) {
const cleaned = uuid.replace(/-/g, '');
return parseInt(cleaned[12], 16);
}
// Вилучення мітки часу з UUID v7
function extractV7Timestamp(uuid) {
const cleaned = uuid.replace(/-/g, '');
const timeHi = parseInt(cleaned.substring(0, 8), 16);
const timeLow = parseInt(cleaned.substring(8, 12), 16);
const unixMs = Number(BigInt("0x" + cleaned.substring(0, 12)) >> 16n);
return new Date(unixMs);
}
// Приклад
const uuid = '017f22e2-79b0-7cc3-98c4-dc0c0c07398f';
console.log(getUUIDVersion(uuid)); // 7
console.log(extractV7Timestamp(uuid)); // Date object
Валідація UUID за допомогою Regex
const uuidRegex = /^[0-9a-f]{8}-[0-9a-f]{4}-[1-7][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i;
function isValidUUID(uuid) {
return uuidRegex.test(uuid);
}
Поширені запитання (FAQ)
Чи можу я отримати час створення з UUID v4?
Ні, UUID v4 є суто випадковим і не містить жодної інформації про час. Для UUID з часовою міткою використовуйте v1, v6 або v7.Чому Node ID в UUID v1 є випадковим замість MAC-адреси?
Сучасні реалізації використовують випадковий Node ID через захист конфіденційності. Розкриття справжньої MAC-адреси може бути ризиком безпеки.Чи можу я відновити оригінальну URL-адресу або ім'я з UUID v5?
Ні, UUID v5 використовує хеш SHA-1, який є одностороннім. З хешу неможливо відновити початкові дані.Як дізнатися, що UUID є випадковим (v4)?
Декодер покаже версію UUID. Якщо версія 4, це випадково згенерований UUID без додаткових метаданих.Чи є часова мітка в UUID v1 точною?
Так, UUID v1 має теоретичну точність 100 наносекунд (починаючи з 15 жовтня 1582 року). На практиці це залежить від точності системного годинника.Чи можу я використовувати декодер для валідації UUID?
Так, декодер автоматично перевіряє формат UUID і відображає помилку, якщо UUID недійсний.Безпека та конфіденційність
Що розкриває UUID?
UUID v1/v6:
- ⚠️ Час створення - може розкрити час виконання операцій
- ⚠️ Потенційно MAC-адреса - ризик ідентифікації пристрою (у сучасних реалізаціях випадкова)
UUID v4:
- ✅ Безпечно - не містить метаданих
UUID v7:
- ⚠️ Мітка часу Unix - розкриває час створення
Рекомендації
- ✅ Використовуйте UUID v4 для максимальної конфіденційності
- ⚠️ Будьте обережні з UUID v1/v6/v7 у публічних API (розкривають інформацію про час)
- ✅ UUID v5 є детермінованим, але не розкриває початкові дані
- ⚠️ Хеш MD5 не є повністю безпечним
Цікаві факти
- Найдавніший можливий UUID v1: 15 жовтня 1582 00:00:00 (початок григоріанського календаря)
- Найновіший UUID v7: 10889-08-02 05:31:50.655 (ліміт мітки часу Unix у мс)
- Точність UUID v1: 100 наносекунд (теоретично 10 мільйонів UUID за секунду)
- UUID Nil:
00000000-0000-0000-0000-000000000000(спеціальний “порожній” UUID) - UUID Max:
ffffffff-ffff-ffff-ffff-ffffffffffff(максимальне значення)
Використання в різних системах
PostgreSQL
-- Вилучення версії UUID
SELECT substring(id::text, 15, 1) as version
FROM users;
-- Фільтрація за версією
SELECT *
FROM users
WHERE substring(id::text, 15, 1) = '4';
MySQL
-- Перевірка формату UUID
SELECT id
FROM users
WHERE id REGEXP '^[0-9a-f]{8}-[0-9a-f]{4}-[1-7][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$';