∞ConvertForever

Генератор UUID

Генерируйте UUID v4 по стандарту — по одному или пакетом — в один клик.

Загрузка инструмента…

Этот генератор UUID создаёт случайные идентификаторы версии 4 (их также называют GUID) по запросу. Один клик — один идентификатор, или сгенерируйте пакет и скопируйте весь список. Каждый UUID следует стандартному формату 8-4-4-4-12, например 550e8400-e29b-41d4-a716-446655440000.

UUID — рабочие лошадки идентификации в современном софте: первичные ключи баз данных, ID запросов к API, номера заказов и сессий, имена файлов, которые не должны совпасть. Их ценность в том, что кто угодно может создать такой идентификатор где угодно, без центрального реестра, и быть практически уверенным в его уникальности во всём мире.

Генерация использует криптографически безопасную случайность браузера и выполняется целиком на вашем устройстве, поэтому созданные ID никогда не видит ни один сервер.

Генератор UUID

Как сгенерировать UUID

  1. Нажмите кнопку — получите новый UUID версии 4.
  2. Нужно больше? Задайте количество и сгенерируйте пакет за один раз.
  3. Выберите оформление: верхний или нижний регистр.
  4. Скопируйте один UUID или весь список сразу.
  5. Генерируйте снова всякий раз, когда нужны свежие идентификаторы.

Почему о коллизиях v4 можно не волноваться

UUID версии 4 содержит 122 случайных бита — это около 5,3 ундециллиона возможных значений. Чтобы получить хотя бы 50% шанс одной коллизии, пришлось бы генерировать примерно миллиард UUID в секунду на протяжении 85 лет. Для любого обычного приложения считать v4 UUID уникальными — стандартная инженерная практика.

Если точнее, вероятность астрономически мала, но не буквально нулевая — честная оговорка, о которой стоит помнить. На практике инженеры повсюду полагаются на эту почти-уверенность, и единственный случай, когда проверку на уникальность всё же добавляют, — это когда столбец базы данных и так требует её по другим причинам.

Как устроен формат v4

UUID — это 128 бит, показанных как 32 шестнадцатеричных символа в привычной группировке 8-4-4-4-12. В версии 4 почти все эти биты случайны, а небольшая фиксированная часть указывает версию и вариант: 13-й символ всегда 4, а 17-й — это 8, 9, a или b. Вот почему у каждого UUID, который создаёт этот генератор, на одном и том же месте стоит 4.

Эти фиксированные метки позволяют любой системе прочитать версию прямо из строки, без дополнительных сведений. Всё остальное берётся случайно, поэтому UUID v4 намеренно не несёт ни метки времени, ни счётчика, ни идентификатора машины — в отличие от версии 1. Это отсутствие и есть преимущество: идентификатор ничего не сообщает о том, когда и где он был создан.

Создаётся в браузере с криптостойкой случайностью

Этот генератор UUID строит каждый идентификатор локально, используя криптографически безопасный источник случайности вашего браузера — тот же класс случайности, что стоит за crypto.randomUUID. Работа идёт на вашем устройстве, поэтому пакет из тысяч значений появляется мгновенно, и ни один сервер не участвует в создании ваших ID.

Ничто из сгенерированного не загружается, не логируется и не сохраняется, поэтому идентификаторы принадлежат только вам, пока вы их не скопируете. Это полезно, когда UUID станут первичными ключами или ссылочными номерами в ваших собственных системах: внешней записи о них нет, и никакой другой пользователь не может получить те же значения.

Где UUID — правильный инструмент

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

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

Оформление и повседневные настройки

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

Какой бы регистр вы ни выбрали, считайте сравнение регистронезависимым, ведь один и тот же UUID может прийти из разных источников в любой форме. Когда нужно много сразу, сгенерируйте пакет и скопируйте весь список, а не кликайте раз за разом, — так быстрее заполнить таблицу или файл конфигурации.

UUID — идентификаторы, а не секреты

Самая важная оговорка: UUID — это не пароль. Его трудно угадать, но он создан для того, чтобы им делиться: UUID постоянно появляются в URL, логах, аналитике и отчётах об ошибках. То, что попадает в такие места, никогда не должно быть единственным барьером между пользователем и защищёнными данными.

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

Частые ошибки с UUID, которых стоит избегать

Частая ошибка — неэффективное хранение UUID: держать миллионы из них как текст в 36 символов, когда база предлагает нативный тип UUID или 16-байтовый бинарный, который компактнее и быстрее индексируется. Другая — использовать случайные UUID v4 как кластеризованный первичный ключ в системе, ждущей последовательных вставок, что может ударить по скорости записи; где важен порядок, лучше подойдёт вариант UUID с упорядочиванием по времени.

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

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

Генератор UUID бесплатный?

Да, бесплатный и без ограничений. Генерируйте один UUID или тысячи — без аккаунта и без лимитов на частоту.

Чем UUID отличается от GUID?

Практически ничем. GUID — название Microsoft для того же 128-битного формата идентификаторов; UUID — стандартный термин. Инструменты и базы данных принимают оба как взаимозаменяемые.

Что означает «версия 4»?

Версия описывает способ создания UUID. Версия 4 генерируется из случайных битов, в отличие от v1, куда встраиваются метка времени и идентификатор машины. v4 — самый ходовой выбор, потому что не раскрывает, когда и где он создан.

Могут ли два сгенерированных UUID совпасть?

В теории — да, на практике — нет. При 122 случайных битах вероятность коллизии настолько мала, что софт по всему миру считает v4 UUID уникальными без проверки.

Годятся ли эти UUID для боевых баз данных?

Да. Это стандартные v4 UUID, созданные криптографической случайностью, — ровно то, что выдают библиотеки вроде uuid4 в Python или crypto.randomUUID в JavaScript.

UUID должны быть в верхнем или нижнем регистре?

Стандарт выводит и рекомендует нижний регистр, но сравнение должно быть регистронезависимым. Часть инструментов Microsoft показывает верхний регистр; выберите через настройку то, чего ждёт ваша система.

Логируются ли сгенерированные UUID где-нибудь?

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

Похожие инструменты

Разместите этот инструмент на своём сайте

Бесплатная вставка на любой сайт или в любой блог — просто скопируйте код ниже. Инструмент загрузится ровно в том виде, в каком работает здесь, и по-прежнему будет работать приватно в браузере вашего посетителя.