Generator UUID v4

Generați cu ușurință UUID-uri v4 (Identificatori Unici Universali) cu instrumentul nostru de generare UUID v4 pentru identificare unică.

5 din 2 evaluări
Generator UUID v4

Generator UUID v4 este un instrument gratuit care creează un identificator universal unic, versiunea 4, pentru a fi folosit ca identificator al unei înregistrări, al unui obiect sau al unei solicitări.

Cum îmi gestionează datele Generatorul UUID v4?

Generarea are loc pe server. Datele introduse sunt trimise către server prin HTTPS și nu sunt stocate. Așadar, nu ar fi corect să spunem că procesul se desfășoară integral în browser sau că datele nu părăsesc niciodată dispozitivul tău.

Un UUID v4 nu are nevoie drept sursă de text cu caracter personal, nume sau parole. Acesta este generat ca identificator, nu calculat pe baza informațiilor pe care le furnizezi. Nu atribui o semnificație confidențială valorii obținute, deoarece orice persoană care o poate vedea o poate copia și reutiliza.

Ce este un UUID v4?

Un UUID v4 este un identificator pe 128 de biți, a cărui parte variabilă este generată aleatoriu sau pseudoaleatoriu. Câțiva biți sunt rezervați pentru indicarea versiunii și a variantei UUID-ului. Este folosit frecvent atunci când sisteme separate trebuie să creeze identificatori fără să solicite mai întâi următorul număr disponibil de la un serviciu central.

Forma scrisă standard conține 32 de caractere hexazecimale, împărțite prin cratime în cinci grupuri. Urmează modelul 8-4-4-4-12 și are 36 de caractere dacă sunt incluse și cele patru cratime.

Un exemplu valid din punct de vedere sintactic este 550e8400-e29b-41d4-a716-446655440000. Într-un UUID versiunea 4, primul caracter din al treilea grup este 4. Cei mai semnificativi doi biți care identifică varianta sunt 10, ceea ce produce caracterul hexazecimal inițial 8, 9, a sau b în al patrulea grup.

Valoarea este un identificator, nu o informație codificată. Nu o poți decoda pentru a recupera data creării, numele unui cont, adresa unui dispozitiv sau un număr secvențial.

Ce versiune de UUID ar trebui să aleg?

Alege versiunea 4 dacă ai nevoie de un identificator opac, generat independent, și nu este necesar ca aceeași intrare să producă același rezultat. Pe scurt, v1 folosește informații despre timp și nod, v2 este formatul DCE Security, v3 derivă un UUID dintr-un spațiu de nume și un nume folosind MD5, v4 este aleatoriu, v5 derivă unul folosind SHA-1, v6 reordonează datele bazate pe timp, v7 combină un marcaj temporal Unix cu date aleatorii, iar v8 este destinat formatelor experimentale sau specifice furnizorilor.

  • Folosește UUID v4 pentru ID-uri de înregistrări, referințe pentru fișiere încărcate, ID-uri ale solicitărilor API și date fixe de test, atunci când sunt potriviți identificatorii distribuiți aleatoriu.
  • Folosește UUID v5 atunci când un anumit spațiu de nume și un anumit nume trebuie să producă întotdeauna același identificator. Este util pentru importuri repetabile și reguli de deduplicare.
  • Ia în considerare UUID v7 atunci când identificatorii înregistrărilor trebuie să urmeze în linii mari momentul creării, iar baza de date sau software-ul îl acceptă.
  • Folosește un număr întreg secvențial obișnuit atunci când valorile sunt create de o singură bază de date, iar cheile compacte și ordonate în mod natural sunt mai importante decât generarea descentralizată.

Versiunile mai vechi se găsesc în continuare în sistemele existente, însă pentru un sistem nou trebuie să alegi în funcție de cerințele reale, nu să tratezi toate versiunile UUID ca fiind interschimbabile.

Exemplu de rezultat produs de instrumentul Generator UUID v4

Cum folosești UUID v4 în practică

Generează un UUID, preia valoarea din câmpul de rezultat UUID v4 și stochează șirul canonic complet, cu excepția cazului în care sistemul destinatar impune o altă reprezentare.

  1. Creează un UUID nou pentru obiectul sau evenimentul care are nevoie de o identitate.
  2. Păstrează toate cele cinci grupuri și cele patru cratime când îl transferi între sisteme.
  3. Stochează-l într-un tip UUID al bazei de date, dacă acesta este disponibil. În caz contrar, folosește un câmp text sau binar dimensionat pentru reprezentarea aleasă.
  4. Adaugă o constrângere de unicitate dacă baza de date trebuie să respingă valorile UUID v4 generate în duplicat.
Instrumentul Generator UUID v4 pe digily.link, cu formularul său de introducere

Printre utilizările obișnuite se numără identificarea unei comenzi înainte ca aceasta să ajungă în baza de date principală, corelarea intrărilor din jurnale între mai multe servicii, denumirea unui obiect încărcat sau atribuirea unor ID-uri stabile rândurilor pregătite pentru import. Un UUID este adesea mai ușor de combinat între seturi de date create independent decât secvențele locale de numere întregi, care pot conține aceleași valori în fiecare sursă.

Spațiile, semnele de punctuație, literele cu diacritice și caracterele din alte alfabete nu creează probleme de intrare pentru UUID v4, deoarece procesul de generare nu derivă identificatorul din text. Dacă ai nevoie de un identificator bazat pe un nume care conține astfel de caractere, folosește o schemă UUID bazată pe nume și definește exact codificarea caracterelor și regulile de normalizare. În caz contrar, texte identice din punct de vedere vizual pot produce secvențe de octeți diferite și, prin urmare, identificatori diferiți.

Pot exista două valori UUID v4 identice?

Da, teoretic poate apărea o coliziune, dar aceasta nu reprezintă o problemă practică în utilizarea obișnuită a UUID v4 atunci când generarea folosește o sursă aleatorie adecvată. Un UUID v4 are 122 de biți variabili, deoarece biții rămași îi identifică versiunea și varianta. Astfel, numărul valorilor posibile este extrem de mare.

Prin urmare, "universal unic" este o descriere practică, nu o garanție matematică. Valorile copiate sau reutilizate din greșeală, erorile de implementare ori generarea deficitară a numerelor aleatorii, atunci când sursa aleatorie este necorespunzătoare, pot crea riscuri de duplicare mai realiste decât simpla întâmplare. Sistemele care nu pot tolera duplicatele trebuie să impună unicitatea și la nivelul bazei de date sau al aplicației.

Un UUID nu dovedește nici că o solicitare este autentică. Nu folosi un UUID vizibil ca unic mijloc de autorizare și nu presupune că un obiect este protejat doar pentru că adresa lui este greu de ghicit. Verificările accesului trebuie aplicate resursei propriu-zise indicate de UUID.

Întrebări frecvente

UUID-urile țin cont de litere mari și mici?

Nu. În reprezentarea textuală a unui UUID, literele hexazecimale sunt tratate în mod normal fără a se ține cont de majuscule și minuscule, astfel încât A și a reprezintă aceeași valoare. Forma canonică obișnuită folosește litere mici. Normalizarea acestora înainte de compararea textului evită rezultatele neuniforme în sistemele care diferențiază majusculele de minuscule la compararea șirurilor.

Pot folosi un UUID v4 într-un URL sau într-un nume de fișier?

Da. Forma canonică folosește caractere hexazecimale și cratime, toate potrivite pentru segmentele obișnuite ale căilor URL și pentru sistemele de fișiere uzuale. Nu adăuga acolade decât dacă un anumit API le solicită și reține că expunerea unui UUID într-un URL nu face resursa privată.

Ar trebui să elimin cratimele dintr-un UUID?

Elimină-le numai dacă formatul destinatar solicită în mod explicit 32 de caractere hexazecimale. Multe biblioteci și tipuri UUID pentru baze de date acceptă forma canonică, cu cratime, care este mai ușor de recunoscut și poate fi confundată mai greu cu o valoare hexazecimală fără legătură.

Este potrivit un UUID v4 ca parolă sau secret API?

Nu. Un identificator și un secret au scopuri diferite. Unele implementări UUID pot folosi o sursă aleatorie adecvată, însă formatul UUID în sine nu garantează cerințele privind gestionarea, confidențialitatea sau entropia parolelor, tokenurilor de sesiune și credențialelor API. Generează credențialele sau tokenurile printr-un mecanism conceput în acest scop, nu cu un generator UUID v4.

Poate fi un UUID v4 dată cu caracter personal conform GDPR?

Da, poate fi o dată cu caracter personal dacă identifică o persoană sau poate fi asociat unei persoane identificabile, chiar dacă valoarea nu dezvăluie direct un nume. Gestionează UUID-urile asociate conturilor clienților, dispozitivelor sau înregistrărilor de activitate în funcție de context și de regulile organizației privind păstrarea datelor și accesul.

Pot folosi UUID v4 drept cheie primară într-o bază de date?

Da, multe baze de date acceptă direct chei primare UUID. Cheile distribuite aleatoriu pot produce inserări mai puțin localizate în index decât identificatorii întregi ordonați sau cei bazați pe timp, așa că verifică recomandările bazei de date pentru tabelele cu multe operațiuni de scriere. Păstrează o constrângere de unicitate și folosește consecvent aceeași reprezentare pentru stocare în importuri, interogări și codul aplicației.

Instrumente populare