Проверка UUID

Проверка UUID

До 100 UUID, по одному в строке. Пустые строки пропускаются.

UUID состоит из 128 бит и записывается как 32 шестнадцатеричные цифры по схеме 8-4-4-4-12, но многие строки, похожие на UUID, на самом деле им не являются. Вставьте один идентификатор или целый столбец из лога, выгрузки базы данных или конфигурационного файла, по одному в строке, и проверка выдаст отдельный вердикт для каждой строки: верен ли формат, какая это версия (от 1 до 8), какой вариант, не нулевой ли это или максимальный UUID, а для версий 1, 6 и 7 ещё и точный момент создания.

Как проверить UUID

  1. 1

    Вставьте свои UUID

    По одному в строке, не более 100 строк. Регистр букв не важен, пустые строки пропускаются.

  2. 2

    Выберите допустимые форматы

    Мягкий режим принимает также {фигурные скобки}, префикс urn:uuid: и 32 цифры без дефисов. Строгий режим принимает только обычную запись с дефисами.

  3. 3

    Прочитайте вердикт по каждой строке

    Каждая строка получает статус «Корректный», «Верный по форме, нестандартный» или «Некорректный» вместе с версией, вариантом, временем создания (если оно есть) и причиной отказа.

Что означают три вердикта

Каждая строка попадает ровно в одну из трёх групп:

  • Корректный: формат верный, биты варианта соответствуют UUID по RFC 9562 (первая цифра четвёртой группы равна 8, 9, a или b), а цифра версии находится в диапазоне от 1 до 8. Нулевой UUID (00000000-0000-0000-0000-000000000000) и максимальный UUID (ffffffff-ffff-ffff-ffff-ffffffffffff) определены в стандарте как особые значения и считаются корректными.
  • Верный по форме, нестандартный: строка является правильным 32-значным UUID, но цифра версии равна 0 или находится в диапазоне от 9 до f, либо биты варианта относятся к другой структуре (зарезервированные диапазоны NCS и Microsoft или диапазон, зарезервированный на будущее). Так выглядят некоторые старые системы и GUID с других платформ. Инструмент всё равно сообщает, что нашёл, но время создания из такого значения не извлекает.
  • Некорректный: это вообще не UUID. В столбце с подробностями указана причина: символы, не являющиеся шестнадцатеричными цифрами, неверное количество цифр (с указанием найденного числа), дефисы не на своих местах или, в строгом режиме, обрамление, которое строгая форма не допускает.

Версии

Версия Как строится Время внутри
1 Время по часам плюс идентификатор узла Да, шаги по 100 нс с 15 октября 1582 года
2 Безопасность DCE: локальный идентификатор заменяет часть времени Инструмент не извлекает
3 Хеш MD5 от пространства имён и имени Нет
4 Случайный Нет
5 Хеш SHA-1 от пространства имён и имени Нет
6 Версия 1 с переставленными битами времени, чтобы значения сортировались по времени Да, те же часы, что и в версии 1
7 48-битное время Unix в миллисекундах, затем случайные биты Да, миллисекунды с 1970 года
8 Собственная структура, выбранная приложением Нет

Версии 6, 7 и 8, а также нулевое и максимальное значения появились в RFC 9562, который заменил RFC 4122.

Как читать метку времени

Версии 1 и 6 хранят 60-битное число шагов по 100 наносекунд с 15 октября 1582 года, то есть со дня реформы григорианского календаря. Версия 7 хранит миллисекунды Unix в первых 48 битах. Проверка показывает время в UTC дважды: на вашем языке и в виде строки ISO 8601 с миллисекундами, которую можно вставить в запрос. Например, 6ba7b810-9dad-11d1-80b4-00c04fd430c8, известный UUID пространства имён DNS, является значением версии 1, созданным 4 февраля 1998 года в 22:13:53,151 UTC.

Чего успешная проверка не доказывает

  • Корректный UUID означает лишь правильную форму. Он не показывает, что значение создал надёжный источник, что оно уникально или что оно есть в вашей базе данных.
  • UUID версии 4 случаен, поэтому по нему нельзя подтвердить, как он был создан.
  • Метка времени в версии 1 берётся с часов создавшего её компьютера, которые могут идти неверно или быть выставлены намеренно.

Часто задаваемые вопросы

Нет. Шестнадцатеричные цифры не зависят от регистра, поэтому 550E8400-E29B-41D4-A716-446655440000 и его двойник строчными буквами означают одно и то же значение. Стандарты рекомендуют строчные буквы при выводе, и если введённая вами запись отличается от этой формы, инструмент показывает под ней вариант с дефисами и строчными буквами.

Потому что его цифра версии (первая цифра третьей группы) не лежит в диапазоне от 1 до 8 или биты варианта (первая цифра четвёртой группы) не равны 8, 9, a или b. Такой вид имеют случайно набранные шестнадцатеричные строки и некоторые GUID из других систем. Это корректное 128-битное значение, просто не соответствующее структуре из RFC 9562.

Мягкий режим принимает формы, которые встречаются в реальных данных: обычный UUID с дефисами, UUID в фигурных скобках (так его записывают .NET и реестр Windows), UUID с префиксом urn:uuid: и 32 цифры без дефисов. Строгий режим принимает только обычную запись с дефисами, которую ожидает большинство API на JSON и баз данных.

До 100 строк, при этом вставленный текст не может быть длиннее 4000 символов. Пустые строки игнорируются. Если вы вставите больше 100 строк, будут проверены первые 100, и вы увидите соответствующее примечание.

Нет. Вставленный текст отправляется на наш сервер, чтобы вычислить вердикты, и добавляется в ссылку страницы при переходе между шагами, чтобы результат можно было сохранить в закладках или поделиться им. Он не сохраняется ни в какой учётной записи или профиле, поэтому не вставляйте идентификаторы, которые не стоит помещать в ссылку.

Сопутствующие инструменты

Генератор градиентных обоев

Создавайте размытые трёхцветные градиентные обои для ноутбука, телефона или фона в Zoom. Задавайте угол и степень размытия вручную или случайным образом.

Генератор вымышленных телефонных номеров

Создавайте до 50 вымышленных номеров из официально зарезервированных диапазонов пяти стран.

Генератор конфигурации webpack

Создайте webpack.config.js для webpack 5 под чистый JavaScript, React или Vue: TypeScript, Babel, CSS или Sass, изображения, HtmlWebpackPlugin, dev-сервер и команда npm install.

Генератор случайных букв

Генерируйте случайные буквы A-Z. Выберите количество, верхний или нижний регистр либо смешанный вариант для игр, заданий и уроков.

Проверка телефонных номеров

Проверьте структуру номера по стране и получите регион, тип, форматы E.164, международный, национальный и RFC 3966.

Валидатор XSD

Проверьте XML-документ в соответствии с схемой XSD и выявите несоответствия между элементами и их типами, указав точные номера строк.

Инструмент доступен на других языках