Generator UUID
Creați UUID-uri aleatorii versiunea 4, de la unul la o sută deodată, și copiați-le ca listă. Sunt produse de generatorul de numere aleatorii securizat criptografic al browserului, iar un verificator vă arată versiunea și varianta oricărui UUID pe care îl lipiți.
0 caractere · 0 cuvinte · 0 rânduri
Funcționează integral în această filă a browserului. Textul dvs. nu este încărcat și nici stocat.
Versiuni UUID
Versiunea este prima cifră a celui de-al treilea grup; varianta este codificată în prima cifră a celui de-al patrulea grup (8, 9, a sau b pentru UUID RFC). Exemplele sunt vectorii de test din RFC 9562.
| Versiune | Construit din | Exemplu |
|---|---|---|
| v1 | Marcaj de timp gregorian + ID de nod (MAC) | c232ab00-9414-11ec-b3c8-9f6bdeced846 |
| v3 | Hash MD5 al unui spațiu de nume + nume | 5df41881-3aed-3515-88a7-2f4a814cf09e |
| v4 | 122 de biți aleatorii | 919108f7-52d1-4320-9bac-f847db4148a8 |
| v5 | Hash SHA-1 al unui spațiu de nume + nume | 2ed6657d-e927-568b-95e1-2665a8aea6a2 |
| v6 | Marcajul de timp v1 reordonat, astfel încât ID-urile se sortează după timp | 1ec9414c-232a-6b00-b3c8-9f6bdeced846 |
| v7 | Milisecunde Unix + biți aleatorii, sortabil | 017f22e2-79b0-7cc3-98c4-dc0c0c07398f |
| v8 | Structură personalizată, definită de aplicație | 2489e9ad-2ee2-8e00-8ec9-32d5f69181c0 |
Ce este un UUID și cum se citește
Un UUID (identificator unic universal, numit GUID în software-ul Microsoft) este un număr de 128 de biți scris ca 32 de cifre hexazecimale, în grupuri de 8-4-4-4-12, de exemplu f47ac10b-58cc-4372-a567-0e02b2c3d479. A fost standardizat în RFC 4122 în 2005; în mai 2024 documentul a fost înlocuit de RFC 9562, care păstrează versiunile vechi și adaugă trei noi. Două poziții sunt fixe: prima cifră din al treilea grup este versiunea (4 din 4372), iar prima cifră din al patrulea grup indică varianta, care este 8, 9, a sau b pentru orice UUID conform cu RFC.
Versiunea 4 completează ceilalți 122 de biți cu date aleatorii. Spațiul este atât de mare încât ar trebui să generați aproximativ 2,7 chintilioane (2,7 × 10¹⁸) de identificatori pentru o șansă de 50% de a obține un singur duplicat, de aceea sistemele creează ID-uri v4 independent, pe mai multe mașini, fără coordonare. Această pagină folosește crypto.randomUUID sau, dacă lipsește, crypto.getRandomValues, niciodată Math.random, al cărui rezultat nu este conceput să fie imprevizibil. Opțiunile Majuscule și Fără cratime schimbă doar formatarea; valoarea rămâne aceeași, iar majoritatea parserelor acceptă ambele variante de scriere.
v4, v7 și celelalte versiuni
Versiunile 1 și 6 se construiesc dintr-un marcaj de timp și un ID de nod, inițial adresa MAC a calculatorului, ceea ce dezvăluie unde și când a fost creat ID-ul. Versiunile 3 și 5 aplică un hash MD5 sau SHA-1 unui spațiu de nume și unui nume, deci aceeași intrare produce mereu același UUID. Versiunea 8 este un format liber pentru scheme personalizate. Noutatea cea mai importantă este versiunea 7: începe cu un marcaj de timp Unix de 48 de biți, în milisecunde, iar restul biților sunt aleatorii, astfel încât ID-urile se sortează după momentul creării.
Această ordonare este motivul pentru care merită să luați în calcul v7 pentru cheile primare din baze de date. Cheile v4 aleatorii ajung peste tot într-un index B-tree, împart paginile și strică localitatea cache-ului pe măsură ce tabelul crește, în timp ce cheile v7 apar în ordine aproximativ crescătoare, ca o coloană auto-increment, dar pot fi generate fără un contor central. Alegeți v4 când vreți un ID care nu dezvăluie nimic, inclusiv momentul creării; alegeți v7 când contează performanța inserărilor și ordinea în timp. Un UUID este un identificator, nu un secret: pentru parole și chei API folosiți un generator de parole dedicat. Mai multe instrumente de codare și inspecție găsiți la instrumente pentru dezvoltatori.
Întrebări frecvente
- Pot fi identice două UUID-uri generate aleatoriu?
- Teoretic da, practic nu. Cu 122 de biți aleatorii, chiar și un miliard de UUID-uri v4 pe secundă timp de aproximativ 86 de ani ar da doar cam 50% șanse de o coliziune, cu condiția ca sursa de aleatoriu să fie bună.
- Care este diferența dintre un UUID și un GUID?
- În esență, niciuna. GUID este numele dat de Microsoft aceluiași identificator de 128 de biți. Unele instrumente Microsoft afișează GUID-urile cu majuscule sau între acolade, iar verificatorul de aici le acceptă.
- Cum aflu ce versiune are un UUID?
- Uitați-vă la prima cifră din al treilea grup: 4 înseamnă aleatoriu, 7 înseamnă ordonat în timp, 1 înseamnă marcaj de timp plus nod. Lipiți-l în Verifică un UUID ca să vedeți versiunea și varianta.
- Ar trebui să folosesc UUIDv7 în loc de v4 pentru cheile din baza de date?
- De multe ori da. Cheile v7 sunt ordonate în timp, ceea ce menține indexurile B-tree compacte și inserările rapide. Rămâneți la v4 dacă momentul creării, inclus într-un ID v7, trebuie să rămână privat.
- Este sigur să folosesc un UUID ca token de resetare a parolei?
- Un UUID v4 de la un generator sigur are 122 de biți aleatorii, suficient cât să nu poată fi ghicit, dar multe biblioteci oferă funcții dedicate pentru token-uri, cu expirare explicită. Nu folosiți niciodată versiuni bazate pe timp, precum v1 sau v7, ca secrete.