Генератор на UUID

Генерирајте стандардни UUID вредности онлајн. Оваа страница користи случаен UUID v4 со 122 случајни бита и добро познатиот формат со 36 карактери.

Формат
Генерирани ID
Подготвено. Генерирајте UUID вредности во Вашиот прелистувач.

Како е изграден овој ID

Распоред
UUID v4: 8-4-4-4-12 хексадецимални групи со RFC варијантни бита.
Ентропија
122 случајни бита; верзијата и варијантата трошат 6 бита од вкупната 128-битна вредност.
Време
Не се кодираат временски ознаки ниту податоци за уредот.
Ризик од колизија
Веројатноста за колизија за 122 случајни бита е занемарлива за вообичаени апликации, тестови и бази на податоци.
Пример
50f91d3d-951c-4a3b-911f-86a8cbf7b3b5

Вашите ID се генерираат локално со силна случајност во прелистувачот. Ништо не се испраќа до BroBroGo.

ЧПП

Каков вид на UUID генерира оваа страница?

Генерира UUID v4 вредности: случајни UUID со стандарден формат со цртички. Користете ја страницата за UUID v4 кога сакате да ги видите деталите фокусирани на v4.

Дали генерираните UUID се испраќаат на сервер?

Не. Генерирањето се случува во Вашиот прелистувач со помош на Web Crypto API, па вредностите остануваат на Вашиот уред.

Што е UUID v4 и како работи овој генератор?

UUID v4 (Universally Unique Identifier верзија 4) е 128-битен идентификатор кој користи 122 бита случајност. Останатите 6 бита се резервирани за верзија и варијанта. Генераторот на оваа страница произведува низи од 36 знаци во стандардниот формат 8-4-4-4-12 – осум хексадецимални цифри, потоа четири, четири, четири и на крај дванаесет. Кога цртичките се вклучени (стандардно), тие се појавуваат помеѓу секоја група. Секој знак е хексадецимален (0-9 и a-f), а вкупниот број на хексадецимални цифри е 32.

Генерирањето се случува исклучиво во прелистувачот, користејќи силен криптографски генератор на псевдослучајни броеви. Ниту еден податок не се испраќа до сервер – страницата работи целосно локално. Ова значи дека идентификаторите се подготвени веднаш, без мрежно доцнење и без загриженост за приватност. Максималниот број на идентификатори што може да се генерираат во една серија е 100, а минималниот е 1.

Форматот на UUID v4 е дефиниран во RFC 4122. Верзијата 4 е единствената верзија каде што сите битови освен оние што го означуваат типот се случајни. Оттука, два генерирани UUID v4 вредности немаат никаква временска компонента – тие не содржат времески печат како што имаат UUID v7 или ULID.

Што го прави овој генератор различен

Главната разлика меѓу UUID v4 и другите формати (како UUID v7 или ULID) е отсуството на времеска информација. UUID v4 користи 122 бита случајност без вграден временски печат. Секоја вредност е практично непредвидлива, а веројатноста за колизија е занемарлива – дури и при милијарди генерирани идентификатори, шансата да се појават два исти е астрономски мала.

Но, оваа случајност носи последица: вредностите се подредуваат произволно. Кога UUID v4 се користи како примарен клуч во база на податоци, произволната сортираност предизвикува фрагментација на индексите. Секој нов запис може да се вметне на случајна позиција во индексната структура, што доведува до чести поделби на страниците и намалени перформанси при запишување. За разлика од тоа, временски базираните идентификатори (како UUID v7) се подредуваат хронолошки, што ги прави поефикасни за индексирање.

Оваа страница ви дава целосна контрола врз излезниот формат. Можете да вклучите/исклучите цртички и да изберете големи букви. Стандардно, излезот е со мали букви и со цртички. Промената на која било опција веднаш го регенерира целиот сет на идентификатори. Ако го промените форматот во UUID v7, ULID или NanoID, опциите за големи букви и цртички може да се променат – оваа статија покрива само UUID v4.

Управување со влезни параметри: број, големи букви, цртички

Влезниот интерфејс нуди три контроли:

  • Count (Број): Цел број од 1 до 100. Ако внесете вредност надвор од овој опсег, страницата нема да ја прифати. Секое генерирање произведува точен број на идентификатори.
  • Uppercase (Големи букви): Булов прекинувач. Кога е вклучен, сите хексадецимални цифри се прикажуваат со големи букви (A-F). Стандардно е исклучен.
  • Include hyphens (Вклучи цртички): Булов прекинувач. Кога е вклучен, идентификаторите го следат стандардниот облик 8-4-4-4-12. Кога е исклучен, цртичките се отстрануваат и добивате низа од 32 хексадецимални цифри без разделници. Стандардно е вклучен.

Промената на било која од овие опции – без разлика дали го менувате бројот или прекинувачите – веднаш ги регенерира сите идентификатори. Нема потреба да кликнете на посебно копче за „Генерирај“; страницата реагира автоматски.

Излезот се прикажува како список. Покрај списокот стои и бројот на генерирани идентификатори. Исто така, се прикажуваат статусни пораки:

  • „Ready.“ (почетна состојба)
  • „Generated.“ (по генерирање)
  • „Copied all!“ (откако ќе ги копирате сите идентификатори)

Квалитет на случајност и веројатност за колизија

UUID v4 користи 122 бита случајност од 128-битниот вкупен простор. Шесте резервирани бита го дефинираат типот (верзија 4 и варијанта 1 или 2). Останатите 122 бита се пополнуваат со случајни вредности од криптографски безбеден генератор на случајни броеви (CSPRNG) вграден во прелистувачот. Овој генератор е ист оној што се користи за безбедносни функции како генерирање клучеви за шифрирање.

Веројатноста за колизија – два исти UUID v4 да се појават во ист сет – се пресметува според проблемот со роденден. Со 2^122 можни вредности (приближно 5.3 × 10^36), дури и ако генерирате 2.71 × 10^18 идентификатори, шансата за колизија е околу 50%. Во практични сценарија (неколку милиони идентификатори), ризикот е занемарлив – далеку помал од ризикот од грешка во хардверот или софтверот.

Сепак, важно е да се напомене дека „непредвидливост“ не е иста со „безбедност“. UUID v4 обезбедува добра случајност, но не е дизајниран како криптографски токен. За апликации каде што идентификаторот мора да биде неоткриен од напаѓач, подобро е да се користи посебен генератор на криптографски случајни низи.

Влијание на UUID v4 врз бази на податоци

Употребата на UUID v4 како примарен клуч во релациони бази на податоци има познати последици. Бидејќи вредностите се произволно распределени, нивното вметнување во B+ дрво на индекс предизвикува случајни локации на записите. Ова доведува до:

  • Фрагментација на индексот: Нов запис не се вметнува на крајот, туку на случајна страница. Ако страницата е полна, таа се дели, што создава празнини.
  • Зголемен I/O трошок: При секое вметнување, системот за бази на податоци мора да прочита и запише повеќе страници отколку што би било потребно за секвенцијално зголемување.
  • Поголема мемориска употреба: Индексните страници се полнат помалку ефикасно, што го зголемува вкупниот број на страници и кеш-просторот.

За разлика од ова, временски базираните идентификатори како UUID v7 и ULID се генерираат со монотоно растечки временски печат. Нивното вметнување е приближно секвенцијално, што го минимизира фрагментирањето. Затоа, многу архитекти на бази на податоци препорачуваат да се избегнува UUID v4 за примарни клучеви во големи системи со многу записи, освен ако случајноста е суштинско барање (на пример, за спречување на броузирање на записи).

Овој генератор ви овозможува да создадете UUID v4 идентификатори брзо, без да ја напуштите страницата. Трговијата меѓу случајност и подредливост е нешто што секој развивач треба да го разбере пред да избере формат.

Копирање и користење на генерираните ID

Секој прикажан идентификатор може да се копира поединечно со клик врз него. Копчето „Copy all“ ги копира сите генерирани идентификатори одеднаш. По копирањето, статусната порака се менува во „Copied all!“ за потврда.

Оваа функционалност е корисна за развивачи кои треба брзо да вметнат сет на ID во тест-податоци, конфигурациски датотеки или при рачно тестирање на API. Бидејќи генерирањето е локално, нема доцнење на мрежата – идентификаторите се подготвени за миг.

Често поставувани прашања

Дали UUID v4 навистина е 128-битен ако има само 122 бита случајност?

Да. Вкупното поле е 128 бита, но 6 бита се фиксни: 4 бита за верзија (4) и 2 бита за варијанта (обично 10 за стандардната варијанта). Останатите 122 бита се слободни за случајни вредности. Прикажаната хексадецимална низа (32 цифри) ги претставува сите 128 бита, вклучувајќи ги и резервираните.

Колку идентификатори можам да генерирам во еден потег?

Од 1 до 100. Вредностите надвор од овој опсег не се прифаќаат. Ако ви требаат повеќе, можете да извршите повеќе генерирања.

Дали промената на опциите ги брише претходно генерираните ID?

Да. Секоја промена (број, големи букви, цртички) веднаш го регенерира целиот сет. Нема историја на претходни генерирања. Ако сакате да зачувате некои, копирајте ги пред да промените нешто.

Зошто ни треба можност за исклучување на цртичките?

Некои системи бараат ID без разделници – на пример, кога се користи како дел од URL или како назив на датотека. Исклучувањето на цртичките го намалува бројот на знаци од 36 на 32 без да се изгуби информација.

Дали овој генератор работи офлајн?

Да. Бидејќи целата логика се извршува во прелистувачот, штом страницата е вчитана, можете да генерирате ID дури и без интернет конекција. Веб-прелистувачите обезбедуваат пристап до криптографски генератор дури и во офлајн режим.

Која е разликата помеѓу UUID v4 и UUID v7?

UUID v4 користи 122 бита случајност и нема временска компонента. UUID v7 користи времески печат со милисекундна прецизност како дел од битовите, со што се добиваат хронолошки подредени идентификатори. UUID v7 е подобар за индексирање во бази на податоци, додека UUID v4 нуди поголема непредвидливост. Оваа страница поддржува двата формати, но при избор на UUID v4 опциите за големи букви и цртички остануваат исти.