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:
- Valige versioon v1, v6 või v7
- Määrake kuupäev ja kellaaeg kuupäeva-aja valija abil
- 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:
- Valige nimeruum vastavalt oma identifikaatori tüübile
- Sisestage nimi/väärtus
- Genereerige UUID
Näited:
| Nimeruum | Nimi (sisestus) | Kasutamine |
|---|---|---|
| DNS | example.com | Domeeninime teisendamine UUID-ks |
| DNS | google.com | Igal veebisaidil on unikaalne UUID |
| URL | https://example.com/page | URL-i teisendamine UUID-ks |
| URL | https://api.example.com/users/123 | API lõpp-punkt UUID-na |
| OID | 1.3.6.1.4.1.343 | Objekti identifikaator UUID-ks |
| X.500 | CN=John Doe,O=Company | Distinguished 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
| Versioon | Põhi | Kokkupõrge | Ajaline järjestus | DB jõudlus | Kasutus |
|---|---|---|---|---|---|
| v1 | Ajatempel + MAC | Madal | ✅ Jah | ❌ Halvem | Pärand, audit |
| v3 | MD5 räsi | Puudub (deterministlik) | ❌ Ei | ⚠️ Keskmine | Teisendused (pärand) |
| v4 | Juhuslik | Äärmiselt madal | ❌ Ei | ⚠️ Keskmine | Üldotstarbeline |
| v5 | SHA-1 räsi | Puudub (deterministlik) | ❌ Ei | ⚠️ Keskmine | Teisendused (soovitatav) |
| v6 | Sorteeritud ajatempel | Madal | ✅ Jah | ✅ Parem | Moodne DB ajaga |
| v7 | Unix ajatempel | Madal | ✅ Jah | ✅ Parim | Uued projektid |
UUID vs muud identifikaatorid
| Tüüp | Suurus | Kokkupõrge | Ajaline järjestus | Kasutus |
|---|---|---|---|---|
| Auto-increment ID | 4-8 baiti | Garanteeritult unikaalne tabelis | ❌ | Lihtsad rakendused, kohalik DB |
| UUID v4 | 16 baiti | Praktiliselt võimatu | ❌ | Hajutatud süsteemid, API |
| UUID v7 | 16 baiti | Praktiliselt võimatu | ✅ | Moodne DB jõudlusega |
| ULID | 16 baiti | Praktiliselt võimatu | ✅ | UUID + leksikograafiline järjestamine |
| Snowflake ID | 8 baiti | Garanteeritult unikaalne õigel konfiguratsioonil | ✅ | Twitter, hajutatud süsteemid |
| NanoID | Konfigureeritav | Sõltub pikkusest | ❌ | URL-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:
- ✅ Kontrollige, et olete täitnud välja “Nimi” – see on kohustuslik!
- ✅ Valige õige nimeruum vastavalt oma sisendi tüübile
- ✅ Näited kehtivatest sisenditest:
- DNS:
example.com,google.com - URL:
https://example.com/page - Mis tahes tekst:
minu-rakendus-v1
- DNS:
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:
- ✅ Kontrollige kuupäeva-aja valijat – kas on määratud õige aeg?
- ✅ Kuupäeva-aja valija kasutab teie kohalikku ajavööndit
- ✅ 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:
- ✅ Kontrollige, et olete genereerinud UUID-d (need ei ole tühjad)
- ✅ Mõned brauserid nõuavad lõikepuhvri API jaoks HTTPS-i
- ✅ 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ärjestamineMillist 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
- Partii genereerimine – Kui vajate palju UUID-sid, genereerige need korraga, mitte ükshaaval
- Salvestamine andmebaasi – Indekseerige UUID veerud kiireks otsinguks
- Kompimine – Salvestage UUID-d binaarkujul (16 baiti) stringi (36 baiti) asemel
- 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 allikaid – crypto.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