UUID генератор

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

Формат
Генерисани идентификатори
Спремно. Генеришите UUID-ове у свом прегледачу.

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

Структура
UUID v4: хексадецималне групе у формату 8-4-4-4-12 са RFC битовима варијанте.
Ентропија
122 насумична бита; верзија и варијанта заузимају 6 бита од укупне 128-битне вредности.
Време
Не кодирају се временске ознаке нити подаци о уређају.
Ризик од колизије
Граница рођенданског парадокса за 122 насумична бита је занемарљива за уобичајене апликације, тестове и базе података.
Пример
59b4a95d-a76f-40ca-b402-db7b12a54f6d

Ваши идентификатори се генеришу локално уз помоћ јаке случајности у прегледачу. Ништа се не шаље на BroBroGo.

Честа питања

Коју врсту UUID-а генерише ова страница?

Генерише UUID v4 вредности: насумичне UUID-ове са стандардним цртицама. Користите наменску UUID v4 страницу ако желите исти механизам са детаљима фокусираним на верзију 4.

Да ли се UUID-ови шаљу на сервер?

Не. Генерисање се обавља у Вашем прегледачу помоћу Web Crypto API-ја, тако да вредности остају искључиво на Вашем уређају.

UUID v4 генератор – како функционише и зашто је другачији

На овој страници генеришете једну или више UUID v4 вредности – насумичне 36-карактерне ниске у стандардном 8-4-4-4-12 формату. Контролишете број ID-ова (од 1 до 100) и да ли ће бити приказани великим словима или без цртица. ID-ови се производе тренутно у вашем прегледачу, користећи јаку уграђену насумичност. Можете копирати појединачни ID или све одједном.

Ова страница се разликује од других алата јер UUID v4 користи 122 бита насумичности без уграђене временске ознаке. Свака вредност је практично непредвидива, а вероватноћа колизије је занемарљива. За разлику од UUID v7 или ULID, v4 вредности се сортирају произвољно – не носе временске информације, што фрагментира индексе базе података када се користе као примарни кључ. Ова страница вам омогућава да пребацујете између великих и малих слова и цртица, али унутрашња насумичност и формат су фиксни. Подразумевани излаз су мала слова са цртицама. Промена било које опције тренутно регенерише цео скуп.

Улази и излази

Улази:

  • Формат: UUID v4 (изабран из UUID v4, UUID v7, ULID или NanoID).
  • Број: Број између 1 и 100, укључујући.
  • Велика слова: Прекидач за приказ UUID-а великим словима (подразумевано искључен).
  • Укључи цртице: Прекидач за укључивање цртица у 8-4-4-4-12 формату (подразумевано укључен).

Излази:

  • Генерисани ID-ови: Листа UUID v4 ниски.
  • Број ID-ова: Број генерисаних ID-ова приказан поред листе.
  • Поруке статуса: „Спреман.“ (почетно), „Генерисан.“ (након генерисања), „Све копирано!“ (након копирања свих ID-ова).

Правила и ивични случајеви

  • UUID v4 је 122 бита насумичности у 36-карактерном формату (32 хексадецималне цифре плус 4 цртице када су цртице укључене).
  • Вероватноћа колизије је занемарљива, али вредности се сортирају произвољно – нема хронолошког редоследа.
  • Промена било које опције (број, велика слова, цртице) одмах регенерише ID-ове.
  • Број мора бити између 1 и 100; вредности ван овог опсега нису прихваћене.
  • Кликом на појединачни ID копира се у клипборд.
  • Дугме „Копирај све“ копира све приказане ID-ове.
  • Сво генерисање се одвија локално у прегледачу, користећи јаку прегледачку насумичност; ништа се не шаље на сервер.
  • Ако се формат промени са UUID v4, опције за велика слова и цртице могу се променити (али овај чланак покрива само UUID v4).

Структура UUID v4: 122 насумична бита у 16 октета

UUID v4 је дефинисан у RFC 4122. Његова унутрашња структура садржи 122 бита насумичности, што је кључна карактеристика. Преосталих 6 битова су фиксни: 4 бита означавају верзију (вредност 0100 за верзију 4), а 2 бита означавају варијанту (вредност 10 за RFC 4122). Ових 128 укупних битова се затим представља као 32 хексадецималне цифре, груписане у шаблон 8-4-4-4-12 и раздвојене цртицама.

Пример: 550e8400-e29b-41d4-a716-446655440000

Објашњење делова:

  • 550e8400 – првих 32 бита насумичности.
  • e29b – следећих 16 бита насумичности.
  • 41d4 – 16 бита од којих су 4 фиксна за верзију (4), а 12 насумичних.
  • a716 – 16 бита од којих су прва 2 фиксна за варијанту (10), а 14 насумичних.
  • 446655440000 – последњих 48 бита насумичности.

Ово значи да је укупан број насумичних битова 32 + 16 + 12 + 14 + 48 = 122. Овај број је довољан да гарантује практичну јединственост чак и при масовном генерисању.

Како прегледач производи 122 насумична бита

Овај алат користи уграђени криптографски генератор псеудонасумичних бројева (CSPRNG) прегледача. Сви модерни прегледачи обезбеђују window.crypto.getRandomValues(), који користи извор ентропије оперативног система (нпр. на Линуксу /dev/urandom, на Виндоусу CryptGenRandom). Овај метод је дизајниран за криптографске потребе, што значи да је довољно jak да спречи предвиђање или репродукцију вредности.

Поступак генерисања:

  1. Генерише се 16 насумичних октета (128 бита) користећи getRandomValues.
  2. Неколико битова се поставља на фиксне вредности: бит 6-7 четвртог октета се поставља на верзију 4 (0100), а бит 6-7 деветог октета се поставља на варијанту (10).
  3. Преосталих 122 бита остају насумични.
  4. Ових 16 октета се претварају у хексадецимални запис, групишу у шаблон 8-4-4-4-12 и, ако је опција укључена, додају се цртице.

Овај процес је потпуно локалан – нема слања података на сервер. То значи да је генерисање тренутно, безбедно и доступно чак и када сте ван мреже.

Вероватноћа колизије: колико је мала?

Вероватноћа да се два UUID v4 поклопе је занемарљиво мала. Формула се заснива на проблему рођендана: са 122 бита простора и n генерисаних UUID-ова, вероватноћа колизије је приближно n^2 / 2^123. Чак и са 10 милиона генерисаних ID-ова, вероватноћа колизије је око 1 у 40 билиона. У пракси, то значи да никада нећете доживети колизију ако генеришете ID-ове на овој страници.

Ово чини UUID v4 идеалним за апликације где је јединственост критична, као што су безбедносни токени, ID-ови сесија или анонимни кључеви.

Утицај на перформансе базе података

Као што је наведено у чињеничном листу, UUID v4 се сортира произвољно, без хронолошког редоследа. Ово има директан утицај на перформансе када се користи као примарни кључ у бази података. Већина база података користи B-стабла за индексирање примарних кључева. Када се нови редови убацују, кључеви се убацују на случајне позиције у стаблу, што доводи до честих страничних подела. Ово може значајно успорити уметање података, посебно код великих табела.

Фрагментација индекса је последица управо те произвољности. Ако вам је време уметања критично, можда би требало да размотрите временски засноване алтернативе попут UUID v7 или ULID. Међутим, ако вам је потребна непредвидивост и не смета вам спорије уметање, UUID v4 је одличан избор.

Практичне употребе и поређења

Ко користи ову страницу?

  • Програмери којима су потребни јединствени, непредвидиви идентификатори за безбедносне токене, ID-ове сесија или несеквенцијалне кључеве.
  • Администратори база података који су свесни компромиса: UUID v4 избегава колизије, али може фрагментирати индексе.
  • Сви који генеришу тест податке, спољашње идентификаторе или анонимне кључеве где временско сортирање није битно, а несазнајност јесте.
  • Корисници који желе брзо да генеришу групу UUID v4 вредности (до 100) и копирају их великим или малим словима, са или без цртица.

Поређење са другим форматима:

Формат Битова насумичности Временска ознака Сортирање
UUID v4 122 Не Произвољно
UUID v7 52 48-битна Unix милисекунда Хронолошки
ULID 80 48-битна Unix милисекунда Хронолошки
NanoID 126 (подразумевано, 21 знак) Не Произвољно

UUID v4 је једини од наведених без уграђене временске ознаке, што га чини најнепредвидивијим.

Често постављана питања

1. Зашто UUID v4 има само 122 насумична бита уместо 128? Зато што 6 битова мора бити фиксно: 4 бита за верзију (4) и 2 бита за варијанту. Ови фиксни битови не утичу на јединственост, већ само означавају тип UUID-а.

2. Да ли могу да генеришем UUID v4 ван мреже? Да. Сво генерисање се одвија локално у прегледачу. Када страница једном учита, можете генерисати ID-ове чак и без интернет везе.

3. Шта се дешава ако унесем број већи од 100? Поље за број прихвата само вредности од 1 до 100. Ван овог опсега, унос се не прихвата, а дугме за генерисање остаје неактивно.

4. Како да копирам све ID-ове одједном? Кликните на дугме „Копирај све“. Сви приказани ID-ови се копирају у клипборд, а појављује се порука „Све копирано!“.

5. Зашто је подразумевани излаз малим словима? Зато што су мала слова стандард у већини имплементација UUID-а. Међутим, ако вам требају велика слова, једноставно укључите прекидач „Велика слова“.

6. Могу ли да променим формат након генерисања? Не. Промена било које опције тренутно регенерише цео скуп. Ако вам требају различите варијанте, најбоље је да прво подесите опције, па онда генеришете.