Генератор UUID

Новый случайный UUID появляется сразу при открытии страницы. Нужно больше — укажите количество, до 1000 штук. Выберите версию 4 (полностью случайный) или 7 (упорядоченный по времени, удобен для ключей в базе данных), заглавные буквы и дефисы.

Ваш текст не покидает ваше устройство.

Как пользоваться

  1. Выберите «Версия 4 (случайный)» или «Версия 7 (по времени)».
  2. Укажите количество и формат: заглавные буквы, с дефисами или без.
  3. Нажмите «Сгенерировать», если нужен новый набор, и скопируйте результат.

Примеры

  • До
    Версия 4, количество: 3
    После
    aa2ffe9e-15d9-42e5-b44e-833c58e13f12 5e490d1e-927c-4c46-a605-583ddbcb6f71 858d5bf1-682b-4a57-bb0a-c7620a517989
  • До
    Версия 7, количество: 2
    После
    01a173f3-8815-7733-b1bd-3edc8d3b7a6e 01a173f3-8815-7734-987e-d5cc109664e4
  • До
    Заглавные буквы, без дефисов
    После
    D41E8D08D2964F88A5D08214C2186E3A

Как читать UUID

В строке 01a173f3-8815-7733-b1bd-3edc8d3b7a6e первая цифра третьей группы — версия: 7. Первая цифра четвёртой группы — вариант, у стандартных UUID это 8, 9, a или b. У v7 первые 12 цифр — время создания, поэтому UUID, созданные один за другим, начинаются одинаково: 01a173f3-8815-….

Где нужны UUID

  • Ключи в базе данных, когда записи создаются на разных серверах или в офлайн-приложении.
  • Идентификаторы файлов и загрузок, чтобы имена не пересекались.
  • Тестовые данные и фикстуры для разработки.
  • Идемпотентность API: уникальный ключ запроса, чтобы повторная отправка не создала дубль платежа.

Частые ошибки

  • v4 как первичный ключ в большой таблице. Случайные значения разбрасывают вставки по всему индексу B-дерева и замедляют запись. Используйте v7.
  • Генерировать UUID через Math.random(). Такие значения предсказуемы и могут повторяться. Нужен криптостойкий генератор.
  • Сравнивать как строки без нормализации. «ABC…» и «abc…», с дефисами и без — один UUID. Приводите к одному формату перед сравнением.
  • Раскрывать время через v7. Если время создания записи — чувствительная информация, не показывайте v7 пользователям.

Как выбрать версию

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

Практические советы

  • Для таблиц и скриптов включите нужное количество и скопируйте список целиком: каждый UUID окажется на отдельной строке.
  • Некоторые системы, особенно на .NET, ожидают заглавные буквы и фигурные скобки. Сами скобки инструмент не добавляет, но регистр можно изменить.
  • UUID не является секретом: не используйте его вместо пароля или токена доступа.

Примеры использования

  • Идентификатор заказа или пользователя в базе данных.
  • Имя загруженного файла, чтобы файлы разных людей не пересекались.
  • Идентификатор запроса в журналах сервера, по которому можно найти все связанные записи.
  • Тестовые данные для прототипа: сгенерируйте сразу сотню значений и вставьте в таблицу.

Частые вопросы

Что такое UUID?

UUID (Universally Unique Identifier) — 128-битный идентификатор, который можно создать где угодно без согласования с центральным сервером и почти наверняка не получить повтор. Записывается 32 шестнадцатеричными цифрами в группах 8-4-4-4-12. В мире Microsoft то же самое называют GUID.

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

UUID v4 полностью случайный (122 случайных бита). UUID v7 начинается с метки времени в миллисекундах, а дальше идут случайные биты, поэтому идентификаторы, созданные позже, при сортировке оказываются дальше. Для первичных ключей в базах данных v7 лучше: новые записи добавляются в конец индекса, и он не фрагментируется.

Могут ли два UUID совпасть?

Теоретически да, практически — нет. Чтобы вероятность совпадения среди UUID v4 достигла 50 %, нужно создать около 2,7 квинтиллиона штук. Важно лишь, чтобы генератор был криптостойким, — здесь используется crypto.getRandomValues браузера.

UUID можно использовать как токен или пароль?

Лучше не стоит. UUID v4 случайный, но формат известен, а в v7 часть битов — метка времени, по которой видно, когда идентификатор создан. Для секретов используйте генератор паролей или специальные токены.

Можно ли записать UUID без дефисов и заглавными?

Да, это один и тот же идентификатор: регистр букв и дефисы на значение не влияют. Формат без дефисов короче и встречается в именах файлов и URL, заглавные — в некоторых системах Microsoft. Выберите формат, который ждёт ваша система.