Generator de UUID-uri

Generați și inspectați identificatori criptografici UUIDv4 și UUIDv7 ordonați temporal cu latență zero. Include Inspector Invers UUID, extragere timestamp UTC, formatare stil Stripe și generare lot fără coliziuni.

Instrumente Online
SISTEM: ACTIV
CSPRNG (window.crypto)Latență 0ms în BrowserConformitate RFC 9562 / RFC 4122
Selectați Arhitectura Identificatorului
Identificator Criptografic Generat
Entropie Criptografică:74 biți CSPRNG + 48 biți Marcaj Temporal Milisecunde
018f3a5b-9d48-7e30-b98a-5e4d21f879ab

Formatare Avansată (Stil Stripe)

Aplicați prefixe de domeniu, eliminați cratimele și încapsulați identificatorul pentru scheme ORM de producție.

Scriere Hexazecimală
Separatori Cratimă
Presetări Prefix:
Previzualizare Rezultat Formatat40 chars
usr_018f3a5b-9d48-7e30-b98a-5e4d21f879ab

Fragmente de Cod pentru Dezvoltatori

Cod gata pentru mediul de producție pentru a instanția această arhitectură UUID în limbajul ales.

// RFC 9562 UUIDv7 in JavaScript / TypeScript (Native Web Crypto)
export function generateUUIDv7(): string {
  const time = Date.now();
  const timeHex = time.toString(16).padStart(12, '0');
  const rand = new Uint8Array(10);
  window.crypto.getRandomValues(rand);
  rand[0] = (rand[0] & 0x0f) | 0x70; // Version 7
  rand[2] = (rand[2] & 0x3f) | 0x80; // Variant RFC 4122
  const randHex = Array.from(rand).map(b => b.toString(16).padStart(2, '0')).join('');
  return `${timeHex.slice(0,8)}-${timeHex.slice(8,12)}-${randHex.slice(0,4)}-${randHex.slice(4,8)}-${randHex.slice(8,20)}`;
}

Specificații Tehnice Standard RFC 9562 și RFC 4122

Referință inginerească autorizată pentru identificatori unici universali pe 128 de biți.

Evoluția de la RFC 4122 (2005) la RFC 9562 (Mai 2024)

Publicat de IETF în mai 2024, RFC 9562 înlocuiește RFC 4122 pentru a rezolva limitările critice de scalare din bazele de date distribuite moderne. În timp ce RFC 4122 a definit UUIDv1 și UUIDv4, arhitecturile cloud moderne au impus identificatori care combină generarea descentralizată cu localitatea secvențială optimă pentru baze de date. RFC 9562 standardizează UUIDv6, UUIDv7 și UUIDv8.

Entropie Criptografică și Matematica Coliziunilor

Calcule riguroase de probabilitate bazate pe Paradoxul Zilei de Naștere în spațiul pe 128 de biți.

Pentru un spațiu de N stări și k identificatori generați, probabilitatea unei coliziuni se calculează prin:

P(k) ≈ 1 - exp( -k² / (2 × 2¹²²) )
Identificatori GenerațiProbabilitate de Coliziune
1.000.000 (10⁶)
Generare instantanee în lot (batch)
≈ 1 × 10⁻²⁵ (Practic 0)
1.000.000.000 (10⁹)
1 miliard de înregistrări în cluster cloud
≈ 1 × 10⁻¹⁹
100.000.000.000 (10¹¹)
Scară de cluster de telecomunicații globale
≈ 1 × 10⁻¹⁵
2,71 × 10¹⁸
Generare continuă de 1 miliard ID-uri/sec timp de 85 de ani
≈ 0,0000001% (1 la un miliard)

Ghid de Integrare în Baze de Date de Producție

Configurații DDL optime pentru PostgreSQL, MySQL InnoDB și SQLite.

PostgreSQL (v16 / v17+)
-- Recommended Schema for High-Throughput Tables
CREATE TABLE app_events (
    id UUID PRIMARY KEY, -- Stores 16 bytes binary
    payload JSONB NOT NULL,
    created_at TIMESTAMPTZ NOT NULL DEFAULT now()
);

-- Extract timestamp directly from UUIDv7
-- No extra created_at index required!
SELECT id, ('x' || lpad(substr(replace(id::text, '-', ''), 1, 12), 16, '0'))::bit(64)::bigint
AS epoch_ms FROM app_events;
MySQL (InnoDB Engine)
-- Use BINARY(16) for Compact Primary Key
CREATE TABLE production_orders (
    id BINARY(16) PRIMARY KEY,
    amount DECIMAL(10,2) NOT NULL,
    status VARCHAR(32) NOT NULL
) ENGINE=InnoDB;

-- Insert UUIDv7 converted to binary
INSERT INTO production_orders (id, amount, status)
VALUES (UUID_TO_BIN('018f3a5b-9d48-7e30-b98a-5e4d21f879ab', 1), 99.50, 'paid');

Cum să Utilizați Generatorul Criptografic de UUID-uri

Ghid pas cu pas pentru dezvoltatori pentru generarea, inspectarea, formatarea și optimizarea identificatorilor pe 128 de biți în baze de date.

01

Selectați Arhitectura de Identificator

Alegeți între UUIDv7 (ordonat temporal și monoton pentru chei primare în baze de date) sau UUIDv4 (aleatoriu criptografic pur pentru jetoane de sesiune și secrete).

02

Generați Identificatorul Criptografic

Apăsați Regenerare pentru a crea un identificator de 128 de biți prin Web Crypto API nativ (window.crypto), garantând latență sub-milisecundă și entropie fără coliziuni.

03

Aplicați Formatarea în Stil Stripe

Adăugați prefixe de entitate (ex: usr_, tx_), comutați între minuscule și majuscule, eliminați cratimele (32 caractere hex) sau încapsulați în format SQL, GUID ori Base64URL.

04

Inspectați și Decodificați Invers

Comutați pe tab-ul Inspector Invers UUID și lipiți orice șir pentru a decodifica versiunea RFC, varianta, structura de biți și marcajul temporal UTC încorporat.

05

Generați Loturi Masive Fără Coliziuni

Folosiți tab-ul Grilă de Generare în Lot pentru a produce până la 50.000 de UUID-uri sigure în sub 50 ms, cu opțiuni de export CSV, JSON și text.

06

Optimizați Indexarea și Schemale DB

Consultați tab-ul Optimizator Bază de Date pentru a analiza fragmentarea B-Tree și copiați scheme DDL gata de rulare pentru PostgreSQL, MySQL InnoDB și SQLite.

Întrebări Frecvente (FAQ)

Răspunsuri autorizate la întrebări comune despre arhitectura UUIDv7 vs UUIDv4, standardele RFC și performanța de indexare.

Q:De ce previne UUIDv7 fragmentarea indexului B-Tree în comparație cu UUIDv4?

UUIDv4 distribuie inserările complet la întâmplare pe toate paginile indexului. Când o pagină se umple, motorul declanșează o dedublare forțată (page split), reducând factorul de umplere la ~50%. UUIDv7 include un timestamp pe 48 de biți, asigurând adăugarea secvențială continuă în pagina extremă dreaptă a indexului.

Q:Cum garantează acest instrument zero coliziuni și securitate criptografică?

Toată logica rulează exclusiv în browser folosind API-ul nativ Web Crypto (window.crypto). Spre deosebire de funcția Math.random(), Web Crypto accesează generatorul CSPRNG al nucleului sistemului de operare, oferind o uniformitate matematică absolută.

Q:Cum extrage Inspectorul Invers marcajul temporal din UUIDv7 și UUIDv1?

În UUIDv7, primele 48 de biți reprezintă marcajul temporal Unix în milisecunde. Decodificatorul nostru izolează aceste caractere hexazecimale și le transformă în dată ISO-8601 UTC. În UUIDv1, timpul pe 60 de biți este extras din câmpurile time_hi, time_mid și time_low.

Q:Este UUIDv7 standardizat oficial de către IETF?

Da. UUIDv7 a fost aprobat și publicat oficial de către IETF în mai 2024 sub indicativul RFC 9562, înlocuind specificația istorică RFC 4122.

Q:Poate UUIDv7 să expună date hardware sau de infrastructură?

Nu. Spre deosebire de UUIDv1 care încorpora adresa fizică MAC a adaptorului de rețea, UUIDv7 conține strict un timestamp UTC și 74 de biți de entropie criptografică aleatorie.

Q:Care este tipul de date recomandat pentru stocarea UUIDv7 în PostgreSQL și MySQL?

În PostgreSQL se recomandă tipul nativ UUID pe 16 octeți. În MySQL InnoDB se recomandă BINARY(16), evitând risipa de spațiu a câmpului VARCHAR de 36 de caractere.

Q:Se pot ordona înregistrările cronologic folosind cheia primară UUIDv7?

Da. Deoarece primii 48 de biți conțin timpul în format big-endian, o sortare standard după coloana UUIDv7 va ordona înregistrările automat în ordine cronologică.

Q:De ce este utilă adăugarea prefixelor de tip Stripe (ex: usr_, tx_)?

Prefixele fac identificatorii inteligibili în jurnalele de sistem (logs), previn erorile de tip nepotrivire de parametri în rutarea API și păstrează intactă entropia criptografică a UUID-ului.

Ce este Generator de UUID-uri?

Dacă ai dezvoltat vreodată un API public sau un sistem distribuit, știi că utilizarea ID-urilor secvențiale (1, 2, 3...) este o greșeală de securitate care expune volumul afacerii tale. Această platformă este creată pentru inginerii care au nevoie de chei primare robuste. Îți permite să generezi și să inspectezi identificatori UUIDv4 securizați și UUIDv7 ordonați cronologic, direct în browser. Fiind un utilitar 100% client-side, datele tale de arhitectură nu ajung niciodată pe servere externe. Este instrumentul perfect pentru a curăța logurile serverului, a optimiza indecșii și a implementa un design impecabil pentru noile tale rute de API.

Exemplu Practic: Securizarea Linkurilor Magice (Passwordless)

O echipă de securitate cibernetică din București implementează un sistem de autentificare fără parolă (magic links) pentru o platformă SaaS. Linkurile trimise pe email trebuie să conțină tokenuri efemere, absolut imposibil de ghicit, pentru a preveni atacurile de tip brute-force. Echipa evită folosirea funcțiilor matematice de bază din JavaScript și folosește acest instrument pentru a testa generarea de UUIDv4, care extrage entropie reală direct din sistemul de operare. Pentru a le face ușor de stocat, folosesc formatul Stripe-style, adăugând prefixul auth_ și eliminând cratimele. La final, preiau snippet-ul de cod TypeScript oferit de platformă și îl integrează direct în backend-ul lor Next.js, rezolvând problema de securitate în câteva minute, fără librării externe.

Instrumentar Tehnic pentru Programatori

FuncționalitateScop ArhitecturalAvantaj Practic
UUIDv4 CriptograficUtilizează Web Crypto API pentru entropie maximă.Garantează securitatea tokenurilor de sesiune și a linkurilor unice.
UUIDv7 Ordine TemporalăÎncorporează un timestamp UTC de 48 de biți.Optimizează drastic viteza de scriere și citire în bazele de date SQL.
Inspector UUID InversAnalizează structura internă a unui ID existent.Permite extragerea datei exacte de creare direct din cheia primară.
Formatare Tip StripeAdaugă prefixe semantice (usr_, pay_).Ajută echipele de frontend să identifice instantaneu tipul de resursă returnată de API.

Istorie și Origine

Necesitatea identificatorilor unici universali a apărut atunci când rețelele de calculatoare au devenit descentralizate. Baza de date a unei companii nu mai rula pe un singur server, ci pe zeci de servere globale. Dacă două servere generau "ID-ul 100" simultan, la sincronizare apăreau conflicte fatale. Soluția a fost crearea unui șir de 128 de biți. Numărul de combinații posibile este atât de vast (peste 3.4 × 1038) încât probabilitatea unei coliziuni este neglijabilă. Trecerea recentă la standardul UUIDv7 a rezolvat și ultima problemă a acestor șiruri uriașe: incapacitatea de a fi ordonate cronologic.