Как пользоваться
- Вставьте UUID. Подойдут заглавные и строчные буквы, с дефисами или без, в фигурных скобках или с префиксом urn:uuid:.
- Посмотрите версию и вариант, а для v1, v6 и v7 — время в UTC и в миллисекундах Unix.
- Скопируйте каноническую запись в нижнем регистре или 128-битное целое, если они нужны.
Как это работает
UUID — 128 бит, записанные 32 шестнадцатеричными цифрами. Первая цифра третьей группы — версия; старшие биты четвёртой группы — вариант (двоичное 10 для стандартной раскладки RFC 9562, то есть 8, 9, a или b).
- v7: первые 12 цифр — миллисекунды с 1970-01-01 UTC.
- v1: время разбито на три части, записанные начиная с младшей; декодер собирает их, вычитает разрыв между 1582 и 1970 годами (122 192 928 000 000 000 интервалов по 100 нс) и показывает результат.
- v6: то же 60-битное время, записанное начиная со старшей части.
- v1 и v6 содержат также 14-битный clock sequence и 48-битный node.
Пример
017f22e2-79b0-7cc3-98c4-dc0c0c07398f — версия 7 (третья группа начинается с 7) со стандартным вариантом (9). Первые 12 цифр, 017f22e279b0, в десятичной записи — 1 645 557 742 000: миллисекунды после 1970 года, то есть 2022-02-22T19:22:22.000Z.
UUID версии 1 c232ab00-9414-11ec-b3c8-9f6bdeced846 хранит тот же момент: 2022-02-22T19:22:22.0000000Z, clock sequence 13256 и node 9f:6b:de:ce:d8:46 с установленным битом multicast, то есть случайный.
Советы
- Для новых ключей в базе данных выбирайте v7: он сортируется по времени создания и не раскрывает MAC-адрес.
- UUID, не прошедший проверку, часто содержит лишнюю или пропущенную цифру — сверьте группы 8-4-4-4-12.
- Новые идентификаторы создаёт генератор UUID.