Generator UUID
Generați UUID v4 aleatorii — unul sau mai multe.
Ce este un UUID?
Un UUID (Identificator Unic Universal) este un număr de 128 de biți folosit pentru a identifica informații în mod unic în sistemele distribuite, fără a necesita o autoritate centrală. UUID-urile sunt standardizate în RFC 4122 și sunt folosite pretutindeni — de la chei primare în baze de date și urmărirea cererilor API, până la gestionarea sesiunilor și denumirea fișierelor.
Formatul standard UUID are 36 de caractere cu patru cratime: xxxxxxxx-xxxx-Mxxx-Nxxx-xxxxxxxxxxxx, unde M indică versiunea (1–5) și N indică varianta. Versiunea cel mai frecvent utilizată este UUID v4, care generează identificatori folosind aleatorizare criptografică. Instrumentul generează UUID v4 implicit.
Formatul UUID v4
UUID v4 folosește 122 de biți aleatori (cei 6 biți rămași codifică versiunea și varianta). Formatul este xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx, unde fiecare x este o cifră hex aleatorie, iar y este 8, 9, A sau B. Cifra 4 din al treilea grup îl identifică ca versiunea 4. Fiecare UUID v4 este generat independent folosind aleatorizare criptografică.
Cum se folosește acest instrument
Faceți clic pe butonul de generare pentru a crea un nou UUID v4. Fiecare clic produce un identificator nou, aleatoriu criptografic. Puteți genera mai multe UUID-uri simultan pentru operații în lot. Faceți clic pe butonul de copiere pentru a copia UUID-ul în clipboard, pentru a fi folosit în cod, configurații sau baze de date.
Cazuri de utilizare frecvente pentru UUID
- Chei primare în baze de date: UUID-urile permit sistemelor distribuite să creeze înregistrări independent fără coliziuni de chei, spre deosebire de numerele întregi cu auto-incrementare care necesită coordonare.
- ID-uri de cereri API: Atașați un UUID la fiecare cerere API pentru urmărire end-to-end prin microservicii.
- Token-uri de sesiune: Creați identificatori unici de sesiune imposibil de ghicit.
- Nume de fișiere: Generați nume de fișiere unice pentru a preveni coliziunile când mai mulți utilizatori încarcă simultan.
- Chei de idempotență: Folosiți UUID-uri în API-urile de plăți pentru a vă asigura că aceeași tranzacție nu este procesată de două ori.
Probabilitatea de coliziune
UUID v4 are 122 de biți aleatori, generând 5,3 × 10³⁶ de valori posibile. Probabilitatea de a genera două UUID-uri identice este astronomic de mică. Ar trebui să generați 2,71 × 10¹⁸ UUID-uri (2,71 cvintilioane) înainte de a atinge o probabilitate de 50% pentru o singură coliziune. Practic, coliziunile nu sunt o preocupare realistă pentru nicio aplicație.
UUID-ul nil
UUID-ul nil (00000000-0000-0000-0000-000000000000) este o valoare specială definită în RFC 4122 ca substituent sau valoare implicită. Unele aplicații îl folosesc pentru a reprezenta 'nicio valoare
Comparație între versiunile UUID
UUID v1 folosește timestamp-ul curent și adresa MAC a dispozitivului — rapid, dar potențial expune informații despre dispozitiv. UUID v3 și v5 generează UUID-uri deterministe dintr-un spațiu de nume și un nume, folosind MD5, respectiv SHA-1. UUID v4 folosește aleatorizare pură, oferind cea mai bună combinație de unicitate, simplitate și confidențialitate. UUID v7 (standard în proiect) combină un prefix de timestamp cu aleatorizare pentru UUID-uri sortabile după timp.
UUID-ul meu este sigur?
Da. Generarea folosește API-ul nativ crypto.randomUUID() al browserului, care oferă aleatorizare criptografică sigură. Toate procesările au loc local pe dispozitivul dvs. Niciun UUID nu este înregistrat, stocat sau transmis vreunui server.
Întrebări frecvente
Ar trebui să folosesc UUID-uri sau ID-uri cu auto-incrementare?
UUID-urile sunt mai bune pentru sistemele distribuite, arhitecturile de microservicii și orice scenariu în care înregistrările sunt create pe mai multe servere. ID-urile cu auto-incrementare sunt mai simple, mai mici (4–8 octeți față de 16 octeți) și mai eficiente pentru indexarea bazelor de date. Alegeți în funcție de arhitectura dvs. — sistemele centralizate pot folosi auto-increment, sistemele distribuite beneficiază de UUID-uri.
UUID-urile trebuie stocate ca șiruri de caractere în baze de date?
Nu. Majoritatea bazelor de date suportă un tip nativ UUID care stochează valoarea ca 16 octeți în loc de reprezentarea șir de 36 de octeți. PostgreSQL are un tip de coloană UUID, MySQL poate folosi BINARY(16), iar MongoDB folosește propriul subtip UUID binar. Folosirea tipurilor native economisește spațiu de stocare și îmbunătățește performanța interogărilor.