§

Generator UUID — Generator Online Gratuit UUID v4

v4 este implicit. v7 sortează lexicografic după timpul de generare și este cea mai bună alegere pentru chei de bază de date.
Format de ieșire
§

Ieșire

    Identificatorii Universali Unici ancorează coloanele de identitate în întregul stack de date din SUA: fiecare `id` implicit într-un tabel proaspăt Supabase, PlanetScale sau AWS Aurora PostgreSQL este de tip `uuid`, fiecare obiect Stripe poartă o cheie de formă UUID, iar fiecare tabel de dimensiuni Snowflake sau BigQuery care are nevoie de o cheie surogat stabilă apelează la RFC 9562 (fost RFC 4122). Organizațiile din Marea Britanie care se integrează cu API-urile NHS Digital folosesc UUID-uri ca valori `Bundle.identifier` în resursele HL7 FHIR R4. Acest generator emite UUID-uri v4 criptografic aleatoare și UUID-uri v7 ordonate temporal exclusiv prin API-ul Web Crypto al browserului, astfel încât valorile identificatorilor pe care îi rezervi pentru producție să nu se scurgă niciodată printr-un endpoint la distanță.

    Ce este un UUID?

    Un UUID (Identificator Universal Unic) este o valoare de 128 de biți redată ca un șir de 36 de caractere precum 550e8400-e29b-41d4-a716-446655440000. Formatul și semantica versiunii sunt definite de RFC 4122 pentru v1 până la v5 și de RFC 9562 pentru versiunile mai noi v6, v7 și v8. Acest instrument generează v4 (pur aleator), v1 (timestamp plus ID de nod aleator) și v7 (prefix timestamp în milisecunde Unix plus sufix aleator, sortabil după timpul de generare) — totul în browserul tău, folosind API-ul Web Crypto al platformei. Nicio dată nu este trimisă la un server.

    Cum funcționează generarea UUID-urilor?

    Fiecare versiune face compromisuri diferite între determinism, sortabilitate și entropie. Instrumentul alege algoritmul potrivit pe baza selecției tale:

    1. v4 (aleator) apelează crypto.randomUUID() al browserului, care returnează 122 de biți de caracter aleator criptografic cu cei 6 biți fixes (versiunea 0100 și varianta 10) setați în pozițiile corecte. Coliziunile sunt astronomic de improbabile — ar trebui să generezi aproximativ 2,71 chintilioane de UUID-uri v4 pentru a avea o singură duplicare cu o probabilitate de 50%.
    2. v1 (timestamp + nod) împachetează un timestamp Gregorian de 60 de biți (tick-uri de 100 de nanosecunde de la 1582-10-15) în time_low / time_mid / time_hi_and_version, setează nibble-ul versiunii la 0001, alege o secvență de ceas de 14 biți cu biții de variantă setați și folosește un ID de nod aleator de 48 de biți cu bitul multicast forțat (RFC 4122 §4.5 permite explicit un ID de nod aleator când nu este disponibil un MAC hardware — bitul multicast îl marchează ca non-MAC).
    3. v7 (timestamp sortabil), conform RFC 9562 §5.7, aranjează un timestamp Unix în milisecunde de 48 de biți în big-endian, apoi versiunea de 4 biți 0111, apoi 12 biți aleatori, apoi varianta de 2 biți 10, apoi încă 62 de biți aleatori. Deoarece timestamp-ul este în cei mai semnificativi biți, UUID-urile v7 se sortează lexicografic în ordinea generării — o proprietate pe care nicio altă versiune UUID nu o oferă fără codificare suplimentară.
    4. Toată caracterul aleator provine din crypto.getRandomValues(), RNG-ul criptografic sigur al browserului. Atât v1, cât și v7 includ o gardă monotonă intra-tick, astfel încât două apeluri consecutive în aceeași fracțiune de secundă sortează totuși al doilea deasupra primului — important pentru rulările de generare în lot care concurează cu ceasul milisecundei.
    5. Pipeline-ul de formatare rulează după generare. Poți elimina cratimele, comuta la majuscule, înfășura valoarea în acolade ({…} — convenția Microsoft GUID) sau reda cei 16 octeți bruti ca base64 (ieșire de 22 de caractere, fără padding). Modul base64 anulează celelalte opțiuni de formatare, deoarece base64 este propria sa reprezentare.

    De ce să folosești acest generator UUID?

    • Nimic nu părăsește browserul tău. API-ul Web Crypto rulează local; pagina nu face nicio cerere de rețea după încărcarea inițială a documentului. Deschide DevTools, dă clic pe Generează, iar panoul Rețea rămâne tăcut.
    • Rezultat corect conform RFC. v4 urmează RFC 4122 §4.4, v1 urmează §4.2 și §4.5, iar v7 urmează RFC 9562 §5.7. Nibble-ul versiunii și biții de variantă sunt plasați acolo unde standardele spun că trebuie să fie — fiecare UUID se validează împotriva expresiei regulate canonice a versiunii.
    • v7 sortabil pentru chei de bază de date. Un UUID v7 folosit ca cheie primară grupată în Postgres, MySQL sau SQL Server menține inserțiile append-only pe index — fără page splits, fără I/O aleator — fiind în același timp global unic. v4 nu poate face acest lucru deoarece biții săi sunt aleatori.
    • Generare în lot fără limite de rată. Generează 1, 10, 100 sau 1.000 de UUID-uri odată. Nu există cotă și nicio înregistrare — instrumentul rulează în fila ta, așa că limita este CPU-ul tău, nu un nivel API al unui furnizor.

    Care sunt aplicațiile comune ale UUID-urilor?

    UUID-urile apar oriunde un sistem are nevoie de un identificator global unic fără a se coordona cu o autoritate centrală:

    • Chei primare de bază de date. Numerele auto-incrementate dezvăluie numărul de rânduri și sparg sharding-ul. UUID-urile sunt stabile între shard-uri, sigure de îmbinat între regiuni și (cu v7) mențin inserțiile B-tree fierbinți fără page splits. O aplicație tipică generează UUID-ul pe partea client, îl trimite în inserție și nu mai trebuie să facă un drum dus-întors la server pentru cheie.
    • ID-uri de corelare a cererilor. Middleware-ul HTTP atașează un UUID v4 fiecărei cereri primite, îl înregistrează pe fiecare span și îl propagă în aval (adesea ca antetul X-Request-Id). Când un client raportează o eroare, inginerul de suport lipește ID-ul și întreaga urmă a cererii apare — între servicii și fusuri orare — fără ambiguitate.
    • Chei de idempotență. API-urile de plată (Stripe, Adyen, Square) acceptă un antet Idempotency-Key pentru ca o cerere reîncercată să nu taxeze clientul de două ori. Un UUID generat de client garantează că cheia este unică per operațiune logică, ceea ce este contractul pe care aceste API-uri îl cer.

    Cum arată un exemplu de UUID?

    În Node.js sau într-un browser modern, comanda pe o singură linie crypto.randomUUID() returnează un UUID v4 proaspăt — de exemplu 3f50b5a8-2c54-4b9c-9c1f-3e5c7e2b8d12. Folosește-l pentru un ID de cerere sau o cheie de idempotență. Când UUID-ul merge într-o coloană de bază de date care va fi cheia primară grupată, generează v7: două valori v7 produse la o milisecundă diferență, precum 0190a3b0-7d4f-7c9e-8b21-a4d6f0bd9c11 și 0190a3b0-7d50-7f15-9c4e-72b3e0c1d8a4, se sortează lexicografic în ordinea generării. Tipul uuid al Postgres-ului stochează ambele versiuni identic — diferența se vede la momentul scrierii indexului, unde inserțiile v7 se adaugă la dreapta B-tree-ului, în timp ce inserțiile v4 se împrăștie și forțează I/O aleator.

    Acest Generator UUID face o singură treabă: transformă un clic în unul sau mai mulți identificatori conformi cu RFC, formatat așa cum ai nevoie, fără a trimite cererea ta la un server. Alege o versiune, alege o cantitate, alege un format — generează, copiază, mergi mai departe.