UUID Generaator: Loo unikaalseid ID-sid (v1-v7) tasuta

Mis on UUID?

UUID (Universally Unique Identifier) on 128-bitine identifikaator, mida kasutatakse arvutisüsteemides teabe unikaalseks identifitseerimiseks. UUID on standardiseeritud vastavalt RFC 4122-le ja tänu oma tohutule entroopiale garanteerib praktiliselt nullilähedase kokkupõrke tõenäosuse – see tähendab, et kaks iseseisvalt genereeritud UUID-d on peaaegu kindlasti unikaalsed.

UUID-l on standardvorming: xxxxxxxx-xxxx-Mxxx-Nxxx-xxxxxxxxxxxx, kus iga x on kuueteistkümnendsüsteemi number (0-9, a-f), M tähistab UUID versiooni ja N tähistab varianti.

UUID versioonid

UUID v1 (Ajatempel + MAC-aadress)

UUID v1 põhineb praegusel ajatemplil ja juhuslikul väärtusel (brauseris MAC-aadressi asemel). See kasutab 100-nanosekundilisi intervalle alates 15. oktoobrist 1582 (Gregoriuse kalender).

Kasutamine:

  • Olukorrad, kus on vaja UUID-de kronoloogilist järjestamist
  • Silumine ja logimine (UUID sisaldab teavet loomise aja kohta)
  • Hajutatud süsteemid aja sünkroonimisega

Näide: 6ba7b810-9dad-11d1-80b4-00c04fd430c8

Eelised:

  • UUID-sid saab kronoloogiliselt järjestada vastavalt loomise ajale
  • Kasulik auditeerimisel ja silumisel
  • Sisaldab ajatempli infot

Puudused:

  • Potentsiaalne turvarisk – sisaldab ajatempli
  • Brauseris ei sisalda tegelikku MAC-aadressi (asendatud juhusliku väärtusega)
  • Halb andmebaasi lokaliteet (ajatempel on madalama järgu bittides)

UUID v3 (MD5 räsikood)

UUID v3 genereeritakse, kasutades MD5 räsi nimeruumi UUID-st ja nimest. Deterministlik – sama nimeruum + nimi loovad alati sama UUID.

Kasutamine:

  • URL-ide, DNS-nimede või muude identifikaatorite teisendamine UUID-deks
  • Olukorrad, kus on vaja reprodutseeritavat UUID-d
  • Kaardistamine erinevate identifitseerimissüsteemide vahel

Näide: a3bb189e-8bf9-3888-9912-ace4e6543002

Eelised:

  • Deterministlik (sama sisend = sama väljund)
  • Ideaalne teadaolevate identifikaatorite teisendamiseks
  • Erinevate sisendite puhul kokkupõrked puuduvad

Puudused:

  • MD5 on aegunud algoritm (eelistage v5)
  • Nõuab nimeruumi ja nime
  • Algset sisendit ei saa tagasi saada

UUID v4 (Juhuslik) - SOOVITATAV

Kõige sagedamini kasutatav UUID versioon. UUID v4 genereeritakse täiesti juhuslikult, kasutades krüptograafiliselt turvalist juhuslike numbrite generaatorit (crypto.getRandomValues()).

Kasutamine:

  • Andmebaasi primaarvõtmed
  • Seansi identifikaatorid (session IDs)
  • Unikaalsed failinimed
  • API tokenid
  • Üldotstarbeline, kus on vaja garanteeritult unikaalset ID-d

Näide: f47ac10b-58cc-4372-a567-0e02b2c3d479

Eelised:

  • Maksimaalne entroopia ja turvalisus
  • Sõltumatus ajast või süsteemi parameetritest
  • Lihtsam implementatsioon

Kokkupõrke tõenäosus: Genereerides 1 miljard UUID-d sekundis 100 aasta jooksul, on kokkupõrke tõenäosus umbes 0,00000006%.

UUID v5 (SHA-1 räsikood)

UUID v5 on sama mis v3, kuid kasutab MD5 asemel SHA-1. Moodsam ja turvalisem alternatiiv v3-le.

Kasutamine:

  • Sama mis v3, kuid parema turvalisusega
  • Eelistatav v3-le uutes projektides
  • UUID genereerimine URL-idest, DNS-nimedest, OID-st, X.500 DN-ist

Näide: 886313e1-3b8a-5372-9b90-0c9aee199e5d

Eelised:

  • Deterministlik
  • SHA-1 on robustsem kui MD5
  • Sobib süsteemide vaheliseks kaardistamiseks

Puudused:

  • SHA-1 loetakse samuti aegunuks (kuid siiski turvalisem kui MD5)
  • Nõuab nimeruumi ja nime

UUID v6 (Sorteeritav ajatempel)

UUID v6 on v1 täiustatud versioon ümberkorraldatud ajabittidega parema andmebaasi indekseerimise jaoks. Loodud andmebaaside lokaliteediprobleemide lahendamiseks.

Kasutamine:

  • Andmebaasi primaarvõtmed aja järgi järjestamisega
  • Süsteemid, mis nõuavad nii kronoloogilist järjestamist kui ka andmebaasi jõudlust
  • Moodsam alternatiiv v1-le

Näide: 1ec9414c-232a-6b00-b3c8-9e6bdeced846

Eelised:

  • Parem andmebaasi lokaliteet kui v1 (ajatempel on kõrgema järgu bittides)
  • Kronoloogiline järjestamine
  • Ühildub UUID standardiga

Puudused:

  • Vähem kasutatav kui v1/v4
  • Sisaldab endiselt ajalist teavet (turvarisk)

UUID v7 (Unix ajatempel)

UUID v7 kasutab Unix ajatempli (millisekundid alates 1970) + juhuslikke bitte. Uusim UUID versioon parima andmebaasi lokaliteediga.

Kasutamine:

  • Kaasaegsed andmebaasi primaarvõtmed
  • Süsteemid, mis nõuavad jõudlust + aja järgi järjestamist
  • v1/v6 asendaja uutes projektides

Näide: 017f22e2-79b0-7cc3-98c4-dc0c0c07398f

Eelised:

  • Kõigist versioonidest parim andmebaasi lokaliteet
  • Unix ajatempel on standardne
  • Ühendab juhuslikkuse ja aja järgi järjestamise eelised

Puudused:

  • Suhteliselt uus spetsifikatsioon (RFC 4122bis)
  • Vähem toetatud vanades süsteemides

Millist UUID versiooni kasutada?

Otsustusjuhend

Vajate maksimaalset turvalisust ja juhuslikkust? → Kasutage UUID v4 (kõige tavalisem valik)

Vajate aja järgi järjestamist ja andmebaasi jõudlust? → Kasutage UUID v7 (moodne) või UUID v6 (standard)

Vajate reprodutseeritavat UUID-d olemasolevatest identifikaatoritest? → Kasutage UUID v5 (SHA-1) või UUID v3 (MD5, pärand)

Vajate ajatempli ja auditi jälgimist? → Kasutage UUID v1 (pärand, halvem andmebaasi jõudlus)

Andmebaasid

Uute projektide jaoks: UUID v7 või v4

  • v7 on ideaalne aja järgi järjestamiseks + jõudluseks
  • v4 maksimaalse juhuslikkuse jaoks ilma ajateabeta

Pärandsüsteemide jaoks: UUID v1 või v6

  • v6-l on parem andmebaasi lokaliteet kui v1-l
  • v1 on laialdaselt toetatud

UUID eelised primaarvõtmena:

  • Globaalne unikaalsus – Saate ühendada andmeid erinevatest andmebaasidest ilma konfliktita
  • Turvalisus – Erinevalt järjestikustest ID-dest (1, 2, 3…) ei saa järgmisi väärtusi ära arvata
  • Hajutatud süsteemid – UUID-sid saab genereerida iseseisvalt mitmel serveril ilma koordineerimiseta
  • Andmebaaside ühendamine – Kahe andmebaasi ühendamisel ei teki konflikte

Puudused:

  • Suurem suurus (16 baiti vs 4-8 baiti täisarvu jaoks)
  • Mõnes andmebaasis aeglasem indekseerimine (parema jõudluse saamiseks kasutage v6/v7)
  • Inimesele vähem loetav

API ja veebiteenused

  • REST API – Unikaalsed identifikaatorid ressurssidele
  • GraphQL – Globaalsed identifikaatorid sõlmedele
  • Webhookid – Päringute ja vastuste jälgimine
  • Tokenid – Seansi ID-d, värskendustokenid

Failid ja salvestusruum

  • Failinimed – Kokkupõrgete vältimine üleslaadimisel
  • S3/Pilvsalvestus – Unikaalsed teed objektidele
  • Vahemälu võtmed – Identifikaatorid vahemälu süsteemides

Esirakendused (Frontend-rakendused)

  • React/Vue komponendid – Unikaalsed võtmed loendite jaoks
  • Ajutised ID-d – ID-d enne andmebaasi salvestamist
  • Kohalik salvestusruum – Võtmed salvestatud andmetele
  • Võrguühenduseta rakendused – ID-de genereerimine ilma serveriühenduseta

Generaatori täpsemad funktsioonid

UUID genereerimine kohandatud ajaga

Ajapõhiste versioonide (v1, v6, v7) puhul saate kasutada kuupäeva-aja valijat suvalise ajatempli valimiseks. See on kasulik järgmiste jaoks:

Testimine:

  • Varem loodud UUID-de simuleerimine
  • Aja järgi järjestamise testimine andmebaasides
  • UUID-de reprodutseerimine silumiseks

Andmete migreerimine:

  • UUID-de genereerimine ajalooliste ajatemplitega
  • Andmete täitmine korrektsete ajatempli väärtustega
  • Andmete importimine erinevatest ajavahemikest

Audit ja vastavus:

  • UUID-de rekonstrueerimine vastavalt kirje loomise ajale
  • Identifikaatorite retrospektiivne genereerimine

Kasutusnäide:

  1. Valige versioon v1, v6 või v7
  2. Määrake kuupäev ja kellaaeg kuupäeva-aja valija abil
  3. Genereerige UUID oma kohandatud ajatempliga

Räsipõhine UUID (v3, v5)

Deterministlike UUID-de jaoks saate kasutada versioone v3 (MD5) või v5 (SHA-1):

Kuidas kasutada:

  1. Valige nimeruum vastavalt oma identifikaatori tüübile
  2. Sisestage nimi/väärtus
  3. Genereerige UUID

Näited:

NimeruumNimi (sisestus)Kasutamine
DNSexample.comDomeeninime teisendamine UUID-ks
DNSgoogle.comIgal veebisaidil on unikaalne UUID
URLhttps://example.com/pageURL-i teisendamine UUID-ks
URLhttps://api.example.com/users/123API lõpp-punkt UUID-na
OID1.3.6.1.4.1.343Objekti identifikaator UUID-ks
X.500CN=John Doe,O=CompanyDistinguished Name UUID-ks

Olulised omadused:

  • Deterministlik: Sama sisend = alati sama UUID
  • Reprodutseeritav: UUID-d saab igal ajal uuesti luua
  • Järjepidev: Sama UUID erinevates süsteemides
  • Ei saa dekodeerida: Algset nime ei saa UUID-st tagasi saada
  • ℹ️ Üks UUID: v3/v5 puhul genereeritakse alati ainult üks UUID (sama sisend = sama väljund)

Praktiline kasutamine:

// Näide: URL-i teisendamine UUID v5-ks
Namespace: URL
Nimi: https://example.com/api/users/123
Tulemus: 886313e1-3b8a-5372-9b90-0c9aee199e5d

// Sama sisend = alati sama UUID
Namespace: DNS
Nimi: google.com
Tulemus: alati sama UUID google.com jaoks

Kuidas UUID-d turvaliselt kasutada?

Krüptograafiline turvalisus

Meie generaator kasutab crypto.getRandomValues(), mis on krüptograafiliselt turvaline juhuslike numbrite generaator. Erinevalt Math.random()-st, mis on ettearvatav ja turvalisuse eesmärkidel sobimatu, pakub crypto.getRandomValues() tõelist entroopiat, mis sobib järgmiste jaoks:

  • Turvatokenite genereerimine
  • Seansi ID-d
  • API võtmed
  • Krüptograafilised rakendused

UUID versioonide võrdlus

VersioonPõhiKokkupõrgeAjaline järjestusDB jõudlusKasutus
v1Ajatempel + MACMadal✅ Jah❌ HalvemPärand, audit
v3MD5 räsiPuudub (deterministlik)❌ Ei⚠️ KeskmineTeisendused (pärand)
v4JuhuslikÄärmiselt madal❌ Ei⚠️ KeskmineÜldotstarbeline
v5SHA-1 räsiPuudub (deterministlik)❌ Ei⚠️ KeskmineTeisendused (soovitatav)
v6Sorteeritud ajatempelMadal✅ Jah✅ ParemMoodne DB ajaga
v7Unix ajatempelMadal✅ Jah✅ ParimUued projektid

UUID vs muud identifikaatorid

TüüpSuurusKokkupõrgeAjaline järjestusKasutus
Auto-increment ID4-8 baitiGaranteeritult unikaalne tabelisLihtsad rakendused, kohalik DB
UUID v416 baitiPraktiliselt võimatuHajutatud süsteemid, API
UUID v716 baitiPraktiliselt võimatuMoodne DB jõudlusega
ULID16 baitiPraktiliselt võimatuUUID + leksikograafiline järjestamine
Snowflake ID8 baitiGaranteeritult unikaalne õigel konfiguratsioonilTwitter, hajutatud süsteemid
NanoIDKonfigureeritavSõltub pikkusestURL-sõbralikud ID-d

Rakendamine erinevates keeltes

JavaScript/TypeScript

// UUID v4 - Lihtsaim viis (kaasaegsed brauserid)
const uuid = crypto.randomUUID();

// UUID v4 - Käsitsi implementatsioon
function generateUUIDv4() {
  return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, (c) => {
    const r = (crypto.getRandomValues(new Uint8Array(1))[0] & 0x0f) >> (c === 'x' ? 0 : 2);
    const v = c === 'x' ? r : (r & 0x3) | 0x8;
    return v.toString(16);
  });
}

// UUID v7 - Soovitatav andmebaasidele
function generateUUIDv7() {
  const timestamp = Date.now();
  const timeHi = (timestamp >> 16).toString(16).padStart(8, '0');
  const timeLow = (timestamp & 0xFFFF).toString(16).padStart(4, '0');

  const randomBytes = crypto.getRandomValues(new Uint8Array(10));
  const randomHex = Array.from(randomBytes)
    .map(b => b.toString(16).padStart(2, '0'))
    .join('');

  return `${timeHi}-${timeLow}-7${randomHex.substr(0, 3)}-${randomHex.substr(3, 4)}-${randomHex.substr(7)}`;
}

Python

import uuid

# UUID v4
uuid_v4 = str(uuid.uuid4())
# Output: '6ba7b810-9dad-11d1-80b4-00c04fd430c8'

# UUID v1
uuid_v1 = str(uuid.uuid1())

Java

import java.util.UUID;

// UUID v4
String uuidV4 = UUID.randomUUID().toString();

PHP

// UUID v4 (PHP 7+)
function generateUUID() {
    return sprintf('%04x%04x-%04x-%04x-%04x-%04x%04x%04x',
        mt_rand(0, 0xffff), mt_rand(0, 0xffff),
        mt_rand(0, 0xffff),
        mt_rand(0, 0x0fff) | 0x4000,
        mt_rand(0, 0x3fff) | 0x8000,
        mt_rand(0, 0xffff), mt_rand(0, 0xffff), mt_rand(0, 0xffff)
    );
}

C#

using System;

// UUID v4
Guid uuid = Guid.NewGuid();
string uuidString = uuid.ToString();

Parimad praktikad

UUID salvestamine andmebaasi

PostgreSQL:

CREATE TABLE users (
    id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
    email VARCHAR(255) NOT NULL,
    created_at TIMESTAMP DEFAULT NOW()
);

MySQL 8.0+:

CREATE TABLE users (
    id BINARY(16) PRIMARY KEY DEFAULT (UUID_TO_BIN(UUID())),
    email VARCHAR(255) NOT NULL,
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);

Nõuanne: MySQL-is salvestage UUID-d BINARY(16) tüübina CHAR(36) asemel, et säästa ruumi ja kiirendada indekseerimist.

UUID valideerimine

function isValidUUID(uuid) {
  const regex = /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i;
  return regex.test(uuid);
}

UUID teisendamine

// Kriipsude eemaldamine
const compact = uuid.replace(/-/g, '');

// Kriipsude tagasi lisamine
function formatUUID(compactUuid) {
  return [
    compactUuid.substring(0, 8),
    compactUuid.substring(8, 12),
    compactUuid.substring(12, 16),
    compactUuid.substring(16, 20),
    compactUuid.substring(20, 32)
  ].join('-');
}

Probleemide lahendamine (Troubleshooting)

UUID v3/v5 ei tööta

Probleem: Pärast v3 või v5 valimist midagi ei genereerita

Lahendus:

  1. ✅ Kontrollige, et olete täitnud välja “Nimi” – see on kohustuslik!
  2. ✅ Valige õige nimeruum vastavalt oma sisendi tüübile
  3. ✅ Näited kehtivatest sisenditest:
    • DNS: example.com, google.com
    • URL: https://example.com/page
    • Mis tahes tekst: minu-rakendus-v1

Nõuanne: Proovige kõigepealt lihtsat väärtust nagu test ja nimeruumi DNS.

Ajaline UUID (v1, v6, v7) näitab kummalist aega

Probleem: Genereeritud UUID-l on ootamatu ajatempel

Lahendus:

  1. ✅ Kontrollige kuupäeva-aja valijat – kas on määratud õige aeg?
  2. ✅ Kuupäeva-aja valija kasutab teie kohalikku ajavööndit
  3. ✅ Praeguse aja jaoks jätke kuupäeva-aja valija tühjaks

UUID-d ei saa kopeerida

Probleem: Nupp “Kopeeri kõik” ei tööta

Lahendus:

  1. ✅ Kontrollige, et olete genereerinud UUID-d (need ei ole tühjad)
  2. ✅ Mõned brauserid nõuavad lõikepuhvri API jaoks HTTPS-i
  3. ✅ Alternatiivina valige tekst tekstialast ja kopeerige käsitsi (Ctrl+C)

Korduma kippuvad küsimused (KKK)

Kas UUID kokkupõrge on võimalik? Teoreetiliselt jah, kuid tõenäosus on astronoomiliselt väike. Genereerides 1 miljard UUID v4 sekundis 100 aasta jooksul, on kokkupõrke tõenäosus umbes 0,00000006%. Praktikas kokkupõrget kunagi ei juhtu.
Kas UUID sobib andmebaasi primaarvõtmeks? See sõltub kasutusjuhtumist. UUID on ideaalne hajutatud süsteemide ja olukordade jaoks, kus on vaja globaalset unikaalsust. Lihtsate rakenduste jaoks, millel on üks andmebaas, võib auto-increment olla tõhusam.
Kas selle tööriistaga genereeritud UUID-d on turvalised? Jah, me kasutame Web Crypto API-t (`crypto.getRandomValues()`), mis pakub krüptograafiliselt turvalisi juhuslikke väärtusi. Kõik toimub lokaalselt teie brauseris.
Mis vahe on UUID versioonidel? - **v1**: Ajatempel + MAC/juhuslik – kronoloogiline järjestamine, halvem DB jõudlus - **v3/v5**: Räsipõhine – deterministlik, teadaolevate identifikaatorite teisendamiseks - **v4**: Juhuslik – kõige turvalisem, kõige sagedamini kasutatav - **v6**: Ümberkorraldatud ajatempel – parem DB jõudlus kui v1 - **v7**: Unix ajatempel – parim DB jõudlus + ajaline järjestamine
Millist UUID versiooni peaksin kasutama? Enamikus juhtudes kasutage **v4** (juhuslik). Ajalise järjestusega andmebaaside jaoks kasutage **v7** (moodne) või **v6** (standard). Teadaolevate identifikaatorite (URL, DNS) teisendamiseks kasutage **v5** (SHA-1).
Kas ma saan UUID-d kasutada tokenite ja API-võtmete jaoks? UUID v4 sobib seansi ID-de ja sarnaste tokenite jaoks. API-võtmete jaoks kaaluge pikemate juhuslike stringide (nt 256-bitiste väärtuste) või spetsiaalsete teekide kasutamist.
Kui suured on UUID-d? UUID on 128 bitti (16 baiti). Kriipsudega stringivormingus võtab see 36 märki. Ilma kriipsudeta 32 kuueteistkümnendsüsteemi märki.

UUID alternatiivid

ULID (Universally Unique Lexicographically Sortable Identifier)

  • 128-bitine ID (sama mis UUID)
  • Leksikograafiliselt sorditav vastavalt loomise ajale
  • Kompaktsem esitus (26 märki 36 asemel)
  • Tõstutundetu base32 kodeering

Näide: 01ARZ3NDEKTSV4RRFFQ69G5FAV

NanoID

  • Väiksem suurus kui UUID (standardina 21 märki)
  • URL-sõbralik (ilma erimärkideta)
  • Kiirem genereerimine
  • Konfigureeritav pikkus ja tähestik

Näide: V1StGXR8_Z5jdHi6B-myT

Snowflake ID (Twitter)

  • 64-bitine ID (väiksem kui UUID)
  • Ajaliselt sorditav
  • Sisaldab töölise ID-d ja järjestuse numbrit
  • Nõuab tsentraliseeritud konfiguratsiooni

Näide: 1234567890123456789

Jõudlus ja optimeerimine

Genereerimiskiirus

Meie generaator suudab genereerida:

  • 1 UUID: < 1 ms
  • 100 UUID: ~10-20 ms
  • 1000 UUID: ~100-200 ms

Jõudluse näpunäited

  1. Partii genereerimine – Kui vajate palju UUID-sid, genereerige need korraga, mitte ükshaaval
  2. Salvestamine andmebaasi – Indekseerige UUID veerud kiireks otsinguks
  3. Kompimine – Salvestage UUID-d binaarkujul (16 baiti) stringi (36 baiti) asemel
  4. Vahemälu – Mõnel juhul saate UUID-d eelnevalt genereerida ja vahemälustada

Arendajatele

UUID v4 struktuur

xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx
|        |    |    |    |
|        |    |    |    └─ 48 juhuslikku bitti (sõlm)
|        |    |    └────── 16 juhuslikku bitti variandiga (kella_järjestus)
|        |    └─────────── 12 juhuslikku bitti + 4 versiooni bitti (aeg_kõrge_ja_versioon)
|        └──────────────── 16 juhuslikku bitti (aeg_keskmine)
└───────────────────────── 32 juhuslikku bitti (aeg_madal)
  • Versioon (4 bitti): alati 0100 (binaarselt) = 4 (heksadesimaalselt)
  • Variant (2-3 bitti): alati 10 (binaarselt) RFC 4122 jaoks

UUID testimine

// Jest test
describe('UUID Generator', () => {
  test('generates valid UUID v4', () => {
    const uuid = generateUUIDv4();
    const regex = /^[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i;
    expect(regex.test(uuid)).toBe(true);
  });

  test('generates unique UUIDs', () => {
    const uuid1 = generateUUIDv4();
    const uuid2 = generateUUIDv4();
    expect(uuid1).not.toBe(uuid2);
  });
});

Turvalisuse aspektid

Mida UUID-ga mitte teha

Ärge kasutage UUID v1 tundlike rakenduste jaoks – Sisaldab ajatempli, mis võib olla turvarisk

Ärge kasutage Math.random() UUID-de genereerimiseks – See ei ole krüptograafiliselt turvaline

Ärge toetuge UUID-le autoriseerimisel – UUID-d on võimalik ära arvata (ehkki äärmiselt väikese tõenäosusega)

Ärge salvestage UUID-sid küpsistesse ilma krüpteerimiseta – Kasutage signeeritud küpsiseid või JWT-d

Mida teha

Kasutage enamikus juhtudes UUID v4 – Suurim entroopia ja turvalisus

Kombineerige UUID-d teiste turvameetmetega – Seansihalduriks kasutage HTTPS-i, HttpOnly küpsiseid ja lühikest aegumist

Valideerige UUID-d serveris – Kontrollige alati UUID vormingut ja versiooni

Kasutage krüptograafiliselt turvalisi juhuslikkuse allikaidcrypto.getRandomValues() brauseris, /dev/urandom Linuxis

Huvitavaid fakte

  • Võimalike UUID v4 arv: 2^122 ≈ 5.3 × 10^36 (340 undecillionit)
  • Vajalik kokkupõrge: 50% kokkupõrke tõenäosuse saavutamiseks peate genereerima 2.71 × 10^18 UUID-d (2.71 kvintillionit)
  • Kõigi võimalike UUID-de suurus: Kui me salvestaksime iga UUID kui 16 baiti, hõlmaks kogu ruum 85 zettabaiti (85 miljardit terabaiti)
  • Päritolu: UUID standardiseeriti osana DCE-st (Distributed Computing Environment) 1990. aastal