Безкоштовні інструменти

Генератор UUID v4

Генерує один або багато випадкових UUID версії 4 за RFC 4122, використовуючи криптографічне джерело випадковості браузера.

Що робить генератор UUID v4

Цей інструмент створює UUID версії 4 — універсальні унікальні ідентифікатори — по одному або пакетами, до тисячі за раз. UUID — це 128-бітове значення, записане у вигляді 32 шістнадцяткових цифр у звичному групуванні 8-4-4-4-12, наприклад f47ac10b-58cc-4372-a567-0e02b2c3d479. Ви звертаєтеся до нього щоразу, коли потрібен ідентифікатор, який можна згенерувати будь-де, на будь-якій машині, не питаючи центральну базу даних «яке число наступне?» — первинні ключі, створені на клієнті до збереження рядка, кореляційні ідентифікатори, що зшивають мікросервіси та логи, ключі ідемпотентності для запитів API, імена файлів та об’єктів, які ніколи не повинні збігатися, або ідентифікатори повідомлень у черзі. Опції дозволяють згенерувати багато за раз, перемкнутися на верхній регістр і прибрати дефіси для контекстів, які потребують компактного рядка з 32 символів.

Як створюються UUID версії 4

Версія 4 означає «випадкова». Генератор запитує криптографічне джерело випадковості браузера, crypto.getRandomValues(), 16 випадкових байтів, а потім проставляє дві невеликі ділянки, щоб зробити значення сумісним з RFC 4122. Чотири біти в сьомому байті перезаписуються для позначення версії — саме тому третя група кожного UUID v4 завжди починається з цифри 4. Два біти в дев’ятому байті встановлюються на 10 для позначення варіанта, тому четверта група завжди починається з 8, 9, a або b. Ці шість фіксованих бітів — єдині, що не є випадковими. Залишається 122 випадкові біти, що приблизно дорівнює 5,3 × 1036 різних значень — неосяжно великий простір.

  • Структура — xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx, де 4 — це версія, а y — одне з 8, 9, a або b.
  • Випадковість — 122 біти, отримані з того самого криптографічного генератора, що використовується для ключів і токенів, а не з Math.random().
  • Імовірність колізії — завдяки парадоксу днів народження вам довелося б згенерувати близько квінтильйона (приблизно 2,7 × 1018) UUID, перш ніж хоча б один дублікат став би бодай на 50% імовірним.

Коли його використовувати і на що звертати увагу

UUID v4 — правильний вибір, коли унікальність і децентралізоване генерування важливіші за порядок. Його єдиний реальний недолік у тому, що він навмисно випадковий, тож послідовні UUID не сортуються і, як первинний ключ бази даних, розкидають вставки по індексу замість того, щоб акуратно додаватися в кінець — команди, яким важлива локальність індексу, іноді віддають перевагу впорядкованій за часом схемі. Не сприймайте UUID як секрет: на практиці його неможливо вгадати, але це не токен автентифікації, і він не повинен сам по собі обмежувати доступ. Пам’ятайте, що форми з дефісами та без дефісів представляють те саме значення, а порівняння мають бути нечутливими до регістру, оскільки 4372 у шістнадцятковому вигляді ідентичне незалежно від того, записане воно у верхньому чи нижньому регістрі. Якщо ви проводите ідентифікатори через сервіс, ті самі UUID безпосередньо вставляються в запити, які ви робите до API розробника s4m.

Генерується локально, ніколи не завантажується

Кожен UUID тут створюється на вашому власному пристрої за допомогою JavaScript, що виконується у вашому браузері; нічого не запитується із сервера і нічого не надсилається назад. Ідентифікатори не логуються, не зберігаються та не передаються s4m чи будь-кому іншому — немає жодного циклу запит-відповідь, тож навіть генерування тисячі за раз створює нульовий мережевий трафік. Це означає, що ви можете генерувати ідентифікатори для приватних систем, внутрішніх інструментів чи невипущених проєктів із упевненістю, що вони існують лише там, де ви їх згенерували. Перевірте самі з відкритою вкладкою мережі або офлайн: генератор покладається виключно на власне криптографічне джерело випадковості вашого браузера і продовжує працювати взагалі без з’єднання.

Цю сторінку знаходять за запитами

Реальні пошукові фрази, на які відповідає ця сторінка — за посиланнями відкриються матеріали, що розкривають тему глибше.