- Acasă
- Generator UUID
Generator UUID
Generează identificatori unici universal (UUID-uri) folosind algoritmi bazați pe timestamp, ca să previi duplicatele.
Cum Funcționează UUID-urile
UUID v1 (Bazat pe Timestamp): Folosește timestamp-ul curent (intervale de 100 nanosecunde de la 15 octombrie 1582) combinat cu o adresă MAC sau identificator de nod aleatoriu. Aceasta asigură unicitatea între diferite mașini și previne duplicatele chiar și când sunt generate simultan.
UUID v4 (Aleatoriu): Folosește numere aleatorii criptografic puternice. Deși duplicatele sunt teoretic posibile, probabilitatea este atât de scăzută (1 din 2^122) încât este neglijabilă pentru scopuri practice.
UUID v7 (Timestamp Modern): Cea mai recentă versiune UUID care combină un timestamp Unix (48 de biți) cu date aleatorii (74 de biți). Aceasta oferă beneficiile de sortare temporală ale v1 menținând confidențialitatea v4, făcând-o ideală pentru cheile primare ale bazelor de date.
Format: UUID-urile sunt valori de 128 de biți afișate ca 32 de cifre hexazecimale în formatul: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
Cazuri de utilizare frecvente
UUID-urile (cunoscute și ca GUID-uri) îți oferă un rezervor practic nelimitat de identificatori unici, fără a fi nevoie să te coordonezi cu o autoritate centrală. Iată câteva locuri unde sunt folosite în mod obișnuit:
Chei primare în baze de date
UUID-urile permit mai multor servicii sau shard-uri să genereze chei independent, fără coliziuni. UUID v7 este tot mai preferat pentru că timestamp-ul de la început păstrează inserările apropiate spațial și indexurile compacte.
Sisteme distribuite
Când evenimentele sunt produse de mai multe noduri, un UUID pentru fiecare eveniment evită blocajul unei secvențe centralizate și păstrează logurile trasabile între serviciile diferite.
Identificatori publici
Un UUID v4 într-un URL nu dezvăluie câte înregistrări există și nu expune atacuri de enumerare așa cum o face un întreg incrementat.
Chei de idempotență
Clienții generează câte un UUID pentru fiecare cerere, astfel încât serverul să poată recunoaște reîncercările și să evite procesarea aceleiași acțiuni de două ori.
Ce versiune ar trebui să folosești?
- Folosește v4 dacă vrei pur și simplu aleatoritate, fără proprietăți suplimentare - este alegerea implicită cea mai sigură pentru majoritatea aplicațiilor.
- Folosește v7 dacă identificatorul va fi cheie primară în baza de date sau va fi stocat în orice index în care ordinea inserării contează. Timestamp-ul inclus face ca rândurile să se grupeze împreună și îmbunătățește dramatic performanța la scriere, la scară.
- Folosește v1 doar când ai nevoie în mod specific să derivi identificatorul dintr-un timestamp și un identificator de nod. În aplicațiile moderne, v7 este o alegere mai bună pentru același scop, fără a scurge adresa MAC.
Întrebări frecvente
Ce este un UUID?
Un UUID (identificator universal unic) este o valoare pe 128 de biți, scrisă de obicei sub formă de 32 de cifre hexazecimale în formatul xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx. Versiuni diferite generează valoarea folosind strategii diferite (aleatoritate, timestamp sau ambele).
Care este diferența dintre UUID și GUID?
Se referă la același lucru. GUID (identificator global unic) este denumirea folosită în ecosistemul Microsoft; UUID este denumirea folosită în RFC 4122 și în rest. Formatul și garanțiile de unicitate sunt identice.
Este garantat ca UUID-urile să fie unice?
Nu matematic garantate - dar probabilitatea de coliziune pentru UUID v4 este de aproximativ 1 în 2^122, cu mult sub pragul relevant pentru orice aplicație practică. Pentru UUID v1 și v7, timestamp-ul și biții de nod/aleatorii previn coliziunile în practică.
Ar trebui să folosesc UUID v4 sau UUID v7 pentru chei primare?
UUID v7 este în general mai bun pentru chei primare. Pentru că biții săi de început sunt un timestamp Unix, rândurile noi se inserează unele lângă altele pe disc, ceea ce menține indexurile compacte și scrierile rapide. Folosește v4 doar când ordinea inserării chiar nu trebuie să poată fi dedusă.
Am nevoie de un generator UUID v1?
Rareori. UUID v1 include adresa MAC a mașinii care îl generează (sau un substitut aleatoriu), ceea ce poate scurge informații. UUID v7 oferă aceeași proprietate de sortare temporală fără acea problemă și este, aproape întotdeauna, alegerea mai bună astăzi.
Este gratuit acest generator de UUID?
Da. Toată generarea se face în browserul tău, nu există limite de utilizare și nu este nevoie de niciun cont. Poți genera UUID-uri individuale aici sau poți trece la generatorul în bloc pentru până la 500 deodată.
Instrumente înrudite
Alte instrumente gratuite de la Hexbon care îți pot fi utile.