Идентификатор на версия на UUID
Определяйте версията и варианта на всеки UUID. Поддържа версии 1–8, Nil и Max UUID с подробна информация.
Вход
Изход
Резултат
Няма стойност
Прочети ме
Какво е версия на UUID?
UUID (Universally Unique Identifier) е 128-битов идентификатор, стандартизиран от RFC 4122 и RFC 9562. Всеки UUID съдържа поле за версия, което указва как е бил генериран. Версията е кодирана в 13-тата шестнадесетична цифра (горният полубайт на 7-мия байт) и определя алгоритъма и източниците на данни, използвани за създаване на идентификатора.
В момента са дефинирани осем версии (от v1 до v8), плюс две специални форми: Nil UUID (всички нули) и Max UUID (всички единици). Всяка версия служи за различна цел — някои вграждат времеви маркери за хронологично сортиране, други използват криптографски хешове за детерминирано генериране, а трети разчитат на случайни числа за простота. Познаването на версията ви помага да разберете свойствата, последиците за сигурността и предназначението на даден UUID.
Полето за вариант, кодирано отделно, идентифицира коя спецификация за UUID следва идентификаторът. Повечето съвременни UUID използват варианта RFC 4122/RFC 9562, но по-старите системи могат да произвеждат варианти NCS или Microsoft.
Описание на инструмента
Този инструмент приема произволен UUID като вход и идентифицира неговия номер на версия, наименование на версията, вариант, метод на генериране и подробно описание на начина, по който работи тази версия. Поддържа всички стандартни версии (от v1 до v8), както и Nil и Max UUID. Просто поставете UUID и незабавно вижте пълния му анализ.
Примери
| Входен UUID | Версия | Наименование |
|---|---|---|
550e8400-e29b-41d4-a716-446655440000 |
4 | Случаен (v4) |
6ba7b810-9dad-11d1-80b4-00c04fd430c8 |
1 | Базиран на времеви маркер (v1) |
018f3e88-5c00-7b3a-8512-2d4a3f8e9c01 |
7 | Базиран на Unix Epoch времеви маркер (v7) |
00000000-0000-0000-0000-000000000000 |
Nil | Nil UUID |
ffffffff-ffff-ffff-ffff-ffffffffffff |
Max | Max UUID |
Функции
- Открива всички версии на UUID от v1 до v8, плюс Nil и Max UUID
- Идентифицира варианта (RFC 4122/9562, NCS, Microsoft или Reserved)
- Показва описание на разбираем език, обясняващо как се генерира версията
Как работи
Инструментът анализира шестнадесетичната структура на UUID, за да извлече две ключови полета:
- Версия: Прочита се от 13-тата шестнадесетична цифра (индекс 12 в изчистения шестнадесетичен string). Този полубайт директно кодира номера на версията (1–8). Nil и Max UUID се откриват чрез проверка дали всички битове са нула или всички битове са единица.
- Вариант: Определя се от най-значимите битове на 17-тата шестнадесетична цифра (индекс 16). Битовият шаблон съответства на едно от четирите семейства варианти: NCS, RFC 4122/9562, Microsoft или Reserved.
Версии на UUID с един поглед
| Версия | Наименование | Ключово свойство |
|---|---|---|
| v1 | Базиран на времеви маркер | Времеви маркер + MAC адрес |
| v2 | DCE Security | Времеви маркер + MAC + POSIX UID/GID |
| v3 | Базиран на наименование (MD5) | Детерминиран от пространство от имена + наименование |
| v4 | Случаен | 122 случайни бита |
| v5 | Базиран на наименование (SHA-1) | Детерминиран, по-силен хеш от v3 |
| v6 | Пренаредено базиран на времеви маркер | Сортируем вариант на v1 |
| v7 | Базиран на Unix Epoch времеви маркер | Unix ms времеви маркер + случаен, идеален за ключове в БД |
| v8 | Персонализиран | Специфичен за доставчик или експериментален |
| Nil | Nil UUID | Всички 128 бита зададени на нула |
| Max | Max UUID | Всички 128 бита зададени на единица |
Често задавани въпроси
Каква е разликата между версия и вариант на UUID? Версията указва алгоритъма за генериране (базиран на времеви маркер, случаен, базиран на хеш и др.), докато вариантът идентифицира коя спецификация следва UUID (RFC 4122, NCS, Microsoft). Повечето UUID, с които ще се сблъскате, ще бъдат от вариант RFC 4122/9562.
Коя версия на UUID трябва да използвам? За повечето приложения v4 (случаен) е най-простият и най-широко поддържан. Ако се нуждаете от сортируеми по времеви маркер идентификатори за първични ключове в бази данни, v7 е съвременната препоръка. Използвайте v5, когато се нуждаете от детерминирани UUID, производни от наименование.
Може ли този инструмент да извлече времевия маркер от UUID? Този инструмент идентифицира само версията и варианта. За да извлечете вградени времеви маркери от v1, v6 или v7 UUID, използвайте специализирания инструмент UUID Time Extractor.