🆔 Інструменти UUID

Повний набір інструментів для генерації та перевірки UUID/GUID з підтримкою всіх версій RFC 4122 та сучасних альтернатив, таких як ULID, для розподілених систем.

Що таке UUID?

UUID (Універсально Унікальний Ідентифікатор) є стандартизованим форматом ідентифікатора, розробленим для глобальної унікальності в просторі та часі. UUID — це 128-бітні значення, зазвичай представлені у вигляді 32 шістнадцяткових цифр, розділених на п’ять груп дефісами: 123e4567-e89b-12d3-a456-426614174000.

UUID визначені стандартом RFC 9562 (який замінює попередній RFC 4122) і використовуються на різних обчислювальних платформах для ідентифікації інформації без необхідності централізованої реєстрації чи координації.

Формат UUID

Всі UUID мають спільний формат, що складається з 36 символів (32 шістнадцяткові цифри плюс 4 дефіси), розташованих за шаблоном:

xxxxxxxx-xxxx-Mxxx-Nxxx-xxxxxxxxxxxx

Де:

  • x будь-яка шістнадцяткова цифра (0-9, a-f)
  • M позначає версію UUID (1-7)
  • N позначає варіант UUID (зазвичай 8, 9, A або B для сучасних UUID)

Конфіденційність та обробка

Вся генерація та перевірка UUID відбувається локально у вашому браузері з використанням криптографічно безпечного генератора випадкових чисел. Інструменти ніколи не відправляють ваші ідентифікатори кудись — все обробляється на вашому пристрої, що робить ці утиліти безпечними для роботи з конфіденційними системними ідентифікаторами.

UUID v4 генератор

Створюйте криптографічно випадкові UUID v4, ідеальні для первинних ключів баз даних і сесійних токенів без розкриття системної інформації.

UUID v1 генератор

Генеруйте UUID v1 на основі часової мітки з вбудованим MAC‑адресою для розподілених систем, що потребують відстежуваності.

UUID v3 генератор

Створюйте детерміновані UUID v3, використовуючи MD5‑хешування простору імен та імені для отримання однакових ID з одного й того ж вводу.

UUID v5 генератор

Створюйте безпечні UUID v5 на основі імені з використанням SHA‑1‑хешування для кращої стійкості до колізій порівняно з v3 (DNS‑імена або URL).

UUID v6 генератор

Генеруйте сучасні UUID v6, що поєднують порядок за часом із покращеною продуктивністю індексації баз даних.

UUID v7 генератор

Створюйте новітні UUID v7, що використовують Unix‑мітки часу з мілісекундною точністю для сучасних розподілених систем.

ULID генератор

Створюйте універсальні унікальні лексикографічно сортувальні ідентифікатори з 26‑символьним кодуванням для URL‑безпечної, сортувальної альтернативи UUID.

Short UUID генератор

Створюйте компактні Short UUID, використовуючи base62‑кодування для скорочення довжини з 36 до 22 символів для QR‑кодів та URL.

Nil UUID генератор

Генеруйте Nil UUID відповідно до RFC 4122 (усі нулі), що представляє порожнє або нульове значення UUID для ініціалізації бази даних і стану за замовчуванням.

Декодер та валідатор UUID

Аналізуйте та перевіряйте UUID будь‑якої версії, витягуючи вбудовану інформацію, таку як часові мітки, номери версій і деталі варіанта для налагодження.

Масовий генератор UUID

Генеруйте тисячі UUID одночасно для заповнення баз даних, навантажувального тестування та масових операцій з даними з можливістю експорту.

Версії UUID та випадки використання

Ці інструменти підтримують усі стандартні версії UUID за RFC, а також сучасні альтернативи, такі як ULID, які вирішують конкретні потреби в розподілених системах, базах даних і URL-дружніх застосунках. Незалежно від того, чи потрібні вам випадкові ідентифікатори, ідентифікатори на основі часових позначок або компактні альтернативи, правильний формат UUID забезпечує надійне масштабування вашої системи.

Стандартні UUID: Створюйте ідентифікатори, що відповідають RFC, у версіях 1, 3, 4, 5, 6 та 7 для різних випадків використання.

Сучасні альтернативи: Генеруйте ULID для лексикографічно сортуваних ідентифікаторів та короткі UUID для компактних застосунків.

Масова генерація: Створюйте тисячі UUID одночасно для наповнення бази даних та тестування навантаження.

Інструменти аналізу: Декодуйте існуючі UUID, щоб витягти вбудовану інформацію та перевірити відповідність формату.

Порівняння версій UUID

VersionNameМетод генераціїTime-orderedВипадки використання
UUID v1TimestampПоточна часові позначка + ідентифікатор вузла (MAC)Так (частково)Логування, розподілені системи
UUID v3Іменований (MD5)MD5 хеш простору імен + іменіNoПослідовні ідентифікатори для одного й того ж вхідного значення
UUID v4RandomВипадкові або псевдовипадкові числаNoЗагального призначення, найпоширеніший
UUID v5Іменований (SHA-1)SHA-1 хеш простору імен + іменіNoПослідовні ідентифікатори з більш сильним хешем
UUID v6Переставлена часові позначкаЧасова позначка (відсортована для сортування)YesКлючі бази даних, записи, що сортуються за часом
UUID v7Unix Epoch TimestampUnix timestamp + випадкові даніYesСучасні сортувальні ідентифікатори
Nil UUIDНульовий UUIDВсі нуліN/AСпеціальне значення, маркер неініціалізованості

Переваги UUID

  • Відсутність необхідності координації: Генеруйте ідентифікатори без центральної координації
  • Глобальна унікальність: Надзвичайно низька ймовірність колізій
  • Фіксована довжина: Послідовне представлення рядка з 36 символів
  • Cross-Platform: Підтримується практично у всіх мовах програмування
  • Versatile: Різні версії для різних випадків використання

Не стандартні альтернативи UUID

Тип ідентифікатораDescriptionAdvantagesDisadvantages
GUIDРеалізація UUID від MicrosoftФункціонально еквівалентний UUIDДеякі відмінності в реалізації в старих системах
ULIDУніверсально унікальний лексикографічно сортувальний ідентифікаторЛексикографічно сортується, спочатку часові позначки, нечутливий до регіструНовіший, менш поширений
Snowflake IDРозподілена система ідентифікаторів TwitterСортується за часом, компактний (64-бітний)Потребує центральної координації
CUID/CUID2Ідентифікатори, стійкі до колізійКороткий, підходить для генерації на стороні клієнтаНе є офіційним стандартом
Nano IDМаленький, безпечний, URL-дружній генератор унікальних рядкових ідентифікаторівМенший за UUID, налаштовуваний алфавітНе стандартизований
Короткий UUIDКоротше кодування стандартних UUIDБільш компактне представленняПотребує конвертації до/з стандартного UUID
Nil UUIDUUID з усіма бітами, встановленими в нульСпеціальне семантичне значенняНе унікальний (використовується як спеціальне значення)
Minecraft UUIDUUID з дефісами або без нихСумісний зі стандартними UUIDТільки відмінності у форматуванні

Практичні застосування

  • Первинні ключі бази даних: Особливо в розподілених або реплікованих базах даних
  • Розподілені системи: Ідентифікація сутностей у кількох системах
  • Веб-застосунки: Ідентифікатори сесій, відстеження анонімних користувачів
  • Управління контентом: Ідентифікатори документів та медіа
  • APIs: Ідентифікатори запитів та транзакцій для трасування та налагодження
  • Інтернет речей: Ідентифікація пристрою без центральної реєстрації
  • Синхронізація даних: Ідентифікація записів у кількох сховищах даних
  • Ліцензування програмного забезпечення: Унікальні ключі продукту або ліцензії

Часті запитання

Чи надсилаються якісь дані на ваш сервер?

Ні. Вся генерація та перевірка UUID відбувається локально у вашому браузері з використанням JavaScript. Ваші ідентифікатори та дані ніколи не покидають ваш пристрій.

Яку версію UUID слід використовувати?

UUID v4 для загального використання (випадковий), v1 для часових позначок з MAC-адресою, v6/v7 для сучасних систем на основі часових позначок, v3/v5 для детермінованих ідентифікаторів з імен, а ULID для сортувальних альтернатив.

Чи справді UUID унікальні?

Так. При правильній генерації UUID мають настільки низьку ймовірність колізій, що вважаються унікальними для практичних цілей. Випадкові UUID (v4) мають 2^122 можливих значень.

У чому різниця між UUID та ULID?

ULID має 26 символів (проти 36 у UUID), лексикографічно сортується за часом створення, безпечний для URL і нечутливий до регістру, зберігаючи ті ж гарантії унікальності.

Чи можна використовувати їх як первинні ключі бази даних?

Так. UUID v4 відмінно підходить для розподілених баз даних, тоді як v6/v7 забезпечують сортування за часовими позначками, що покращує продуктивність індексації бази даних. ULID пропонує подібні переваги з меншою довжиною.

Resources