Нужен UUID для ключа базы данных, токена API или тестового фикстура? Генерируйте UUID v4 по одному или пакетно — до 100 за раз — и копируйте их прямо в буфер обмена.
Загрузка калькулятора...
Этот инструмент вам помог?
Что такое Генератор UUID?
Генератор UUID создаёт случайные UUID версии 4, которые являются универсально уникальными идентификаторами. Каждый UUID следует стандартному формату 8-4-4-4-12 (36 символов с дефисами). Генерируйте от 1 до 100 UUID за раз для любого приложения.
Когда использовать этот калькулятор
Вам нужен уникальный идентификатор для первичного ключа базы данных в распределённой системе
Вы создаёте идентификаторы ресурсов API, которые должны быть глобально уникальными без центрального органа
Вам нужны тестовые фикстуры с уникальными ID для модульных или интеграционных тестов
Вы создаёте систему управления сессиями, требующую генерации уникальных токенов
Вам нужно сгенерировать несколько уникальных идентификаторов пакетно для миграции или импорта данных
Вы хотите проверить, что UUID, который у вас уже есть, действителен и правильно отформатирован
Шаги:
Выберите, сколько UUID сгенерировать (1-100).
Нажмите кнопку «Сгенерировать UUID».
Скопируйте отдельные UUID или используйте «Копировать все».
Включите автокопирование для автоматического копирования при генерации.
Формула
Формат UUID v4: xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx
Где x — случайная шестнадцатеричная цифра, а y — одна из 8, 9, A или B (вариант RFC 4122).
Всего комбинаций: ~5,3 × 10^36
Варианты использования
Первичные ключи баз данных для распределённых систем
Идентификаторы ресурсов API
Токены сессий пользователей
ID заказов и транзакций
Основные преимущества
Генерируйте 1-100 UUID мгновенно
Копирование одним кликом
Опция автокопирования для эффективности рабочего процесса
Бесплатно, регистрация не требуется
Советы профессионалов
Используйте UUID v4 для универсальных уникальных ID
Храните UUID как binary(16) в базах данных для производительности
Используйте UUID v7, если нужна сортировка по времени
Никогда не генерируйте UUID на стороне клиента для критичных для безопасности приложений
Распространенные ошибки
Использование последовательных ID вместо UUID для распределённых систем
Предположение, что UUID сортируемы по времени (используйте UUID v7 для сортировки по времени)
Хранение UUID как строк вместо бинарных данных для производительности
Объяснение ключевых терминов
UUID: Универсально уникальный идентификатор
UUID v4: Случайный UUID версии 4
GUID: Термин Microsoft для UUID
RFC 4122: Документ стандартизации UUID
Связанные понятия
UUID версии 4: UUID, сгенерированный полностью из случайных битов, с полем версии, установленным в 0100 (4), и битами варианта, установленными согласно RFC 4122
RFC 4122: Документ стандартизации, определяющий формат UUID, версии и поле варианта для структуры UUID
Коллизия: Чрезвычайно редкое событие, когда два независимо сгенерированных UUID идентичны — для UUID v4 вероятность составляет примерно 1 из 5,3×10^36
UUID v7: Более новая версия UUID, которая кодирует временную метку Unix в наиболее значимых битах, делая UUID упорядоченными по времени и сортируемыми, оставаясь при этом уникальными
Пример
Сгенерированный UUID: 550e8400-e29b-41d4-a716-446655440000 — стандартный UUID v4 с 4 на позиции 13, указывающей версию 4, и «a» на позиции 17, указывающей вариант RFC 4122.
Интерпретация результатов
Генератор создаёт UUID версии 4, которые являются 128-битными случайными идентификаторами, следующими стандартному шестнадцатеричному формату 8-4-4-4-12 (36 символов, включая дефисы). Версия 4 означает, что все биты, кроме индикаторов версии и варианта, случайны, обеспечивая максимально возможную уникальность без координации между системами.
Сгенерированный UUID имеет специфические структурные маркеры: 13-й символ всегда 4 (указывает версию 4), а 17-й символ всегда 8, 9, A или B (указывает вариант RFC 4122). Эти маркеры отличают UUID v4 от других версий и обеспечивают соответствие стандарту.
Используйте функцию автокопирования, когда вам нужно генерировать UUID по одному во время разработки — каждый UUID копируется в буфер обмена немедленно при генерации. Используйте «Копировать все», когда вам нужен пакет UUID для массовой операции. Пакетная генерация выполняется полностью в вашем браузере без связи с сервером.
Часто задаваемые вопросы
Что такое UUID?
UUID (Universally Unique Identifier) — это 128-битный идентификатор, стандартизированный RFC 4122. UUID версии 4 генерируются случайным образом и практически гарантированно уникальны между системами.
Насколько уникальны UUID?
Чрезвычайно уникальны. Существует 5,3×10^36 возможных UUID v4. Вероятность коллизии настолько мала, что вы могли бы генерировать 1 миллиард UUID в секунду в течение 100 лет и всё ещё иметь риск коллизии, близкий к нулю.
Для чего используются UUID?
UUID используются в качестве первичных ключей баз данных, идентификаторов ресурсов API, токенов сессий, идентификаторов транзакций и везде, где нужны уникальные идентификаторы без центрального органа.
В чём разница между UUID и GUID?
GUID (Globally Unique Identifier) — это реализация Microsoft стандарта UUID. Они функционально идентичны и взаимозаменяемы.
Действительно ли UUID гарантированно уникальны?
Ни один стандарт UUID не гарантирует абсолютную уникальность — но вероятность коллизии с UUID v4 настолько астрономически мала (1 из 5,3×10^36), что считается практически невозможной. Для справки, вам нужно генерировать 1 миллиард UUID в секунду в течение 100 лет, чтобы достичь даже 50% вероятности коллизии.
Следует ли использовать UUID или автоинкрементные целые числа для первичных ключей?
UUID лучше подходят для распределённых систем, поскольку они могут генерироваться независимо на любом узле без координации. Целые числа проще и меньше, что делает их лучше для приложений с одной базой данных, где важна последовательная упорядоченность. UUID также не раскрывают информацию об объёме ваших данных (последовательный ID 5 000 сообщает атакующему, что у вас 5 000 записей).
Могу ли я сортировать UUID хронологически?
Стандартные UUID v4 случайны и не могут быть отсортированы по времени. UUID v7 (доступен в более новых библиотеках) кодирует временную метку в наиболее значимых битах, делая его сортируемым по времени. Если вам нужны уникальные ID, упорядоченные по времени, рассмотрите UUID v7 или ULID в качестве альтернатив v4.
В чём разница между хранением UUID как строк и как бинарных данных?
Строки используют 36 символов (36 байт), тогда как бинарные данные используют 16 байт. Бинарное хранение более эффективно как для пространства хранения, так и для производительности индексов. Большинство баз данных поддерживают специфические для UUID типы столбцов, которые автоматически обрабатывают бинарное преобразование. Используйте binary(16) в MySQL или нативный тип uuid в PostgreSQL.
Почему 13-й символ всегда '4' в UUID v4?
13-й символ занимает биты 48-51 UUID, которые кодируют номер версии. Для версии 4 эти биты установлены в 0100, что является шестнадцатеричной цифрой 4. Так любой считыватель UUID идентифицирует UUID как версию 4 (случайную).
Безопасно ли генерировать UUID на стороне клиента?
Для не критичных для безопасности целей, да. Для критичных для безопасности приложений (токены сессий, ключи API, токены сброса пароля) используйте криптографически безопасный генератор случайных чисел на стороне сервера. Math.random() на основе браузера не является криптографически безопасным, хотя crypto.getRandomValues() современных браузеров приемлем для большинства целей.
Сколько UUID я могу сгенерировать за раз?
Этот генератор поддерживает до 100 UUID за пакет. Для больших пакетов вы можете запустить генератор несколько раз или использовать серверный скрипт с библиотекой UUID. Генерация полностью происходит на стороне клиента без сетевых запросов, поэтому пакеты завершаются практически мгновенно.