Генератор UUID
Уникальные ID для баз данных, API и тестов в один клик.
Работает в браузере. То, что вы вводите, никуда не отправляется.
- Версии 4 и 7
- До 1000 за раз
- Криптографически случайные числа
Как сгенерировать UUID
- Выберите версию 4 для случайных ID или версию 7 для ID, которые сортируются по времени.
- Задайте, сколько нужно, и формат.
- Нажмите "Сгенерировать", затем скопируйте или скачайте список.
Сравнение версий UUID
| Версия | Строится из | Сортируется по времени? |
|---|---|---|
| v4 (этот инструмент) | 122 случайных бита | Нет |
| v7 (этот инструмент) | 48-битная метка времени плюс случайные биты | Да |
| v1 (здесь не предлагается) | Метка времени плюс MAC-адрес машины | Да, но может выдать, какая машина его создала |
Структура UUID по RFC 9562
| Часть | Длина | Значение |
|---|---|---|
| Разряд версии | 1 hex-цифра | 4 для версии 4 или 7 для версии 7, в 3-й группе |
| Биты варианта | Старшие 2 бита 4-й группы | Установлены в 10 для варианта UUID из этого RFC |
| Общая длина | 36 символов | 32 hex-цифры плюс 4 дефиса |
Советы по использованию UUID
- Храните UUID в нативном столбце типа UUID или в 16-байтовом бинарном столбце, если ваша база данных это поддерживает. Хранение как 36-символьного текста примерно удваивает место, которое занимает каждый ID.
- Ведущая метка времени в версии 7 позволяет сортировать ID по времени создания, но также означает, что любой, у кого есть ID, может примерно определить, когда он был создан, вплоть до миллисекунды.
- Форматирование с фигурными скобками и без дефисов соответствует тому, как некоторые старые API Windows и скрипты PowerShell ожидают увидеть GUID.
Частые вопросы о Генератор UUID
В чём разница между UUID v4 и v7?
Версия 4 это 122 случайных бита. Версия 7 начинается с 48-битной метки времени в миллисекундах, за которой следуют случайные биты, поэтому более новые ID сортируются после более старых.
Могут ли два UUID когда-нибудь совпасть?
На практике нет. Понадобилось бы сгенерировать около 103 триллионов UUID версии 4, чтобы получить шанс один к миллиарду хотя бы на одно совпадение.
GUID это то же самое, что UUID?
Да. GUID это название, которое Microsoft использует для того же 128-битного формата. Отметьте "Заглавные буквы" и "Фигурные скобки", чтобы получить стиль {XXXXXXXX-XXXX-...}, используемый в Windows и .NET.
Какую версию использовать для первичного ключа базы данных?
Версию 7. Её значения идут по порядку времени, поэтому новые строки попадают в конец индекса, а не в случайные места, что сохраняет высокую скорость вставки. Используйте версию 4, когда ID не должен раскрывать, когда он был создан.
Можно использовать UUID как пароль или секретный токен?
Случайные биты берутся из криптографически надёжного генератора вашего браузера, но UUID задуман как идентификатор. ID версии 7 также раскрывают время создания, поэтому для секретов используйте генератор паролей.
Какой длины UUID?
36 символов с дефисами: 32 hex-цифры и 4 дефиса, кодирующие в сумме 128 бит данных.
Здесь используется криптографически надёжный источник случайности?
Да. Обе версии строятся на основе crypto.getRandomValues (или crypto.randomUUID для версии 4), криптографически надёжного генератора случайных чисел браузера, никогда не Math.random.