UUID Декодер & Валидатор: Анализ версий и извлечение времени
Вставьте ваш UUID в поле выше, и этот инструмент (UUID Парсер) немедленно проведет онлайн-проверку, определит версию, валидность и извлечет скрытую информацию.
Что такое UUID Декодер?
UUID Декодер — это инструмент, который анализирует UUID (универсальный уникальный идентификатор) и извлекает из него всю доступную информацию. 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 - Случайный
Что вы можете получить:
- ✅ Версия - подтверждение, что это случайный UUID
- ✅ Вариант - стандарт 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 timestamp
Что вы можете получить:
- ✅ Unix timestamp - миллисекунды с 1.1.1970
- ✅ Дата и время - стандартный формат Unix timestamp
- ❌ Случайная часть - невозможно декодировать
Пример:
UUID: 017f22e2-79b0-7cc3-98c4-dc0c0c07398f
Версия: v7 (Unix timestamp)
Вариант: 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):
- Позиция: 17-й шестнадцатеричный символ
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.Почему ID узла в UUID v1 является случайным вместо MAC-адреса?
Современные реализации используют случайный 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 timestamp - раскрывает время создания
Рекомендации
- ✅ Используйте UUID v4 для максимальной конфиденциальности
- ⚠️ Будьте осторожны с UUID v1/v6/v7 в публичных API (они раскрывают информацию о времени)
- ✅ UUID v5 детерминирован, но не раскрывает исходные данные
- ⚠️ Хеш MD5 не полностью безопасен
Интересные факты
- Самый старый возможный UUID v1: 15 октября 1582 00:00:00 (начало григорианского календаря)
- Самый новый UUID v7: 02.08.10889 05:31:50.655 (предел Unix timestamp в мс)
- Точность 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}$';