UUID Генератор
Генерируйте случайные значения UUID для приложений, баз данных и тестов.
Инструмент разработчика
Мгновенно создайте UUID и скопируйте его для разработки или тестирования.
Генерируйте случайные значения UUID для приложений, баз данных и тестов.
Продолжайте рабочий процесс с помощью ближайших разработчиков и утилит обработки данных.
Нажмите Генерировать, и в поле вывода мгновенно появится новый UUID версии 4, готовый к чтению или использованию. Нажмите Копировать, чтобы поместить его в буфер обмена и вставить прямо в код, строку базы данных, файл конфигурации или тестовые данные. Каждый клик создает совершенно новое случайное значение, поэтому вы можете получить столько идентификаторов подряд, сколько нужно, и ни один из них не повторится. Здесь нечего настраивать: инструмент делает одну задачу и делает ее в тот момент, когда вы об этом просите.
UUID (универсальный уникальный идентификатор), на платформах Microsoft называемый также GUID, — это 128-битное число, устроенное так, что любой человек где угодно может создать его без обращения к центральному реестру и быть уверенным, что оно не совпадет с чужим. Именно это свойство делает UUID незаменимыми в распределенных системах: два сервера, которые никогда не обменивались данными, могут каждый создать идентификатор и спокойно считать результаты разными. UUID версии 4 достигает этого за счет чистой случайности, а не согласования. Из его 128 битов 6 зарезервированы для записи версии и варианта, а оставшиеся 122 бита по-настоящему случайны — именно отсюда берется астрономический размер адресного пространства.
UUID всегда записывается как 32 шестнадцатеричные цифры, разбитые на пять групп через дефис. Цифра версии и цифра варианта стоят на фиксированных позициях, поэтому по самой записи можно понять, как был создан UUID. В таблице ниже собраны форматы и версии, которые встречаются чаще всего.
| Свойство | Описание | Пример |
|---|---|---|
| Формат | 32 hex-цифры, группы 8-4-4-4-12 | 550e8400-e29b-41d4-a716-446655440000 |
| Версия 1 | По времени: метка времени плюс MAC-адрес | ...-11d4-... (цифра 1) |
| Версия 4 | Случайная: 122 случайных бита (этот инструмент) | ...-41d4-... (цифра 4) |
| Цифра версии | Первый символ третьей группы | 4 для v4 |
| Цифра варианта | Первый символ четвертой группы | 8, 9, a или b |
| Всего значений (v4) | 2^122 вариантов | ~5,3 ундециллиона |
Дефисы и группировка нужны только для удобства чтения, но они входят в каноническую текстовую форму, и большинство анализаторов их ожидают.
Возьмем 550e8400-e29b-41d4-a716-446655440000. Подсчет групп дает 8, 4, 4, 4 и 12 шестнадцатеричных цифр. Третья группа — 41d4, и ведущая 4 говорит, что это UUID версии 4 (случайный). Четвертая группа — a716, и ведущая a — это маркер варианта, означающий, что значение соответствует стандартной схеме RFC. Все остальное случайно, и именно поэтому невозможно узнать, когда и где был создан идентификатор.
Когда нужен идентификатор, который не совпадет с другим, ввод вручную чреват ошибками и предсказуем. Этот генератор за один клик выдает правильно отформатированный и по-настоящему случайный UUID для первичных ключей базы данных, идентификаторов сообщений и запросов, ключей идемпотентности для API, имен файлов и загрузок, тестовых данных и наборов начальных значений. Поскольку каждое значение независимо, вы можете взять одно для быстрого эксперимента или сразу несколько десятков для пакета тестовых строк, не опасаясь дубликатов и не прибегая к фрагменту кода.
UUID создаются целиком в вашем браузере с помощью встроенного криптографического генератора случайных чисел — того самого источника, который рекомендован для идентификаторов версии 4. Ничто из созданного не отправляется, не записывается и не хранится на каком-либо сервере, поэтому значения принадлежат только вам и исчезают, когда вы покидаете страницу. Одно предостережение стоит повторить: UUID — это идентификатор, а не секрет. Он отлично подходит как открытый ключ, но его никогда нельзя использовать как пароль, токен API или что-либо, что само по себе дает доступ.
Крайне мала. UUID версии 4 содержит 122 случайных бита, то есть около 5,3 ундециллиона возможных значений. Чтобы вероятность хотя бы одного совпадения достигла одной миллиардной, понадобилось бы сгенерировать примерно 103 триллиона UUID. Для любого реального приложения этот риск настолько мал, что считается практически нулевым.
Версия 1 основана на времени: она объединяет текущую метку времени с сетевым (MAC) адресом устройства, поэтому значения примерно упорядочены по времени создания, но могут раскрывать, где и когда они были созданы. Версия 4 почти полностью случайна, ничего не сообщает о машине и является более безопасным выбором по умолчанию. Этот инструмент создает UUID версии 4.
Математически не гарантирована, но практически да. UUID версии 4 опирается на случайность, а не на центральный реестр, поэтому два одинаковых значения теоретически возможны. Вероятность настолько ничтожно мала, что системы по всему миру используют UUID как уникальные идентификаторы без какой-либо координации между собой.
UUID состоит из 32 шестнадцатеричных цифр, разделенных дефисами на пять групп по схеме 8-4-4-4-12, например 550e8400-e29b-41d4-a716-446655440000. Третья группа начинается с цифры версии (4 для v4), а четвертая группа начинается с цифры варианта (8, 9, a или b).
Да, это распространенный прием. UUID позволяет сгенерировать ключ в приложении еще до вставки строки и не раскрывать последовательные автоинкрементные идентификаторы. Компромисс в том, что случайные ключи v4 больше целых чисел и могут фрагментировать порядок индекса, поэтому при большом числе записей иногда предпочитают упорядоченный по времени вариант или хранят UUID в двоичном столбце ради производительности.