UltKit
Зображення11
PDF13
Документи й дані7
Відео6
Аудіо4
Інші інструменти22

Генератор UUID

Створюйте випадкові UUID версії 4, від одного до ста за раз, і копіюйте їх списком. Їх видає криптографічно стійкий генератор випадкових чисел вашого браузера. Окремий перевіряльник показує версію та варіант будь-якого вставленого UUID.

0 символів · 0 слів · 0 рядків

Працює повністю у вкладці браузера. Ваш текст ніколи не завантажується на сервер і не зберігається.

Версії UUID

Версія — перша цифра третьої групи; варіант закодовано в першій цифрі четвертої групи (8, 9, a або b для UUID за RFC). Приклади взято з тестових векторів RFC 9562.

ВерсіяСтворено зПриклад
v1Григоріанська мітка часу + ідентифікатор вузла (MAC)c232ab00-9414-11ec-b3c8-9f6bdeced846
v3Хеш MD5 простору імен + імені5df41881-3aed-3515-88a7-2f4a814cf09e
v4122 випадкові біти919108f7-52d1-4320-9bac-f847db4148a8
v5Хеш SHA-1 простору імен + імені2ed6657d-e927-568b-95e1-2665a8aea6a2
v6Мітка часу v1 з переставленими полями, щоб ідентифікатори сортувалися за часом1ec9414c-232a-6b00-b3c8-9f6bdeced846
v7Мілісекунди Unix + випадкові біти, сортується017f22e2-79b0-7cc3-98c4-dc0c0c07398f
v8Власна структура, яку визначає застосунок2489e9ad-2ee2-8e00-8ec9-32d5f69181c0

Що таке UUID і як його читати

UUID (універсальний унікальний ідентифікатор, у програмному забезпеченні Microsoft його називають GUID) — це 128-бітне число, записане як 32 шістнадцяткові цифри групами 8-4-4-4-12, наприклад f47ac10b-58cc-4372-a567-0e02b2c3d479. Його стандартизовано в RFC 4122 у 2005 році; у травні 2024 року цей документ замінив RFC 9562, який зберігає старі версії й додає три нові. Дві позиції фіксовані: перша цифра третьої групи — це версія (4 у 4372), а перша цифра четвертої групи показує варіант: для кожного UUID, що відповідає RFC, це 8, 9, a або b.

Версія 4 заповнює решту 122 біти випадковими даними. Цей простір настільки великий, що для 50% імовірності одного дублікату довелося б згенерувати близько 2,7 квінтильйона (2,7 × 10¹⁸) ідентифікаторів, тому системи створюють v4 ID незалежно на багатьох машинах без координації. Ця сторінка використовує crypto.randomUUID, а якщо його немає — crypto.getRandomValues, і ніколи Math.random, результат якого не призначений бути непередбачуваним. Параметри Великі літери та Без дефісів змінюють лише форматування; значення те саме, і більшість парсерів приймають будь-який регістр.

v4, v7 та інші версії

Версії 1 і 6 будуються з позначки часу та ідентифікатора вузла, спочатку це була MAC-адреса комп’ютера, що розкриває, де і коли створено ID. Версії 3 і 5 хешують простір імен та ім’я за допомогою MD5 або SHA-1, тож той самий вхід завжди дає той самий UUID. Версія 8 — вільна структура для власних схем. Найважливіша новинка — версія 7: вона починається з 48-бітної позначки часу Unix у мілісекундах, а решту заповнює випадковими бітами, тому ID сортуються за часом створення.

Саме через це впорядкування варто розглянути v7 для первинних ключів бази даних. Випадкові ключі v4 потрапляють у різні місця індексу B-tree, розщеплюють сторінки й погіршують локальність кешу в міру зростання таблиці, а ключі v7 надходять у приблизно зростаючому порядку, як стовпець з автоінкрементом, але їх усе одно можна генерувати без центрального лічильника. Обирайте v4, коли потрібен ID, що нічого не розкриває, зокрема часу створення; обирайте v7, коли важливі швидкість вставки та впорядкування за часом. UUID — це ідентифікатор, а не секрет: для паролів і секретів API використовуйте окремий генератор паролів. Більше кодувальників та інспекторів — у інструментах для розробників.

Поширені запитання

Чи можуть два випадково згенеровані UUID збігтися?
Теоретично так, на практиці ні. Зі 122 випадковими бітами навіть мільярд UUID v4 на секунду протягом близько 86 років дасть лише приблизно 50% імовірності однієї колізії, якщо джерело випадковості надійне.
Чим UUID відрізняється від GUID?
По суті жодної. GUID — це назва Microsoft для того самого 128-бітного ідентифікатора. Деякі інструменти Microsoft показують GUID у верхньому регістрі або у фігурних дужках, і перевірка тут це приймає.
Як дізнатися версію UUID?
Подивіться на першу цифру третьої групи: 4 — випадковий, 7 — впорядкований за часом, 1 — позначка часу плюс вузол. Вставте його в перевірку UUID, щоб побачити версію та варіант.
Чи варто використовувати UUIDv7 замість v4 для ключів бази даних?
Часто так. Ключі v7 упорядковані за часом, що зберігає індекси B-tree компактними, а вставки швидкими. Залишайтеся на v4, якщо час створення, закодований у v7 ID, має лишитися приватним.
Чи безпечно використовувати UUID як токен для скидання пароля?
UUID v4 із безпечного генератора має 122 випадкові біти, цього досить, щоб його не можна було вгадати, але багато бібліотек пропонують окремі функції токенів з явним терміном дії. Ніколи не використовуйте версії на основі часу, як-от v1 або v7, як секрети.