Salt la conținut
Quaestio

Generator de UUID

Generează identificatori aleatorii, versiunea 4, în forma de care ai nevoie.

Identificatori

    Hazardul vine din sursa criptografică a browserului, iar nimic nu este trimis nicăieri.

    Încorporează

    Încorporează instrumentul pe site-ul tău

    Copiază codul și lipește-l acolo unde vrei să apară instrumentul, de exemplu într-un articol de blog sau pe pagina unei școli. Este gratuit, caseta nu are reclame, iar instrumentul calculează în browserul vizitatorului.

    Cum funcționează

    Un UUID este un identificator de 128 de biți, scris ca 32 de caractere hexazecimale în cinci grupuri despărțite prin cratime.

    Versiunea 4 este aleatorie, cu excepția a șase biți care arată versiunea și varianta. Rămân 122 de biți aleatorii, adică ceva peste cinci sextilioane de valori posibile, adică 5,3 × 10³⁶.

    Cu atâtea posibilități, nicio autoritate centrală nu trebuie să împartă identificatorii. Două sisteme pot genera fiecare unul fără să-l întrebe pe celălalt, iar șansa unei coliziuni este neglijabilă.

    Hazardul vine din sursa criptografică de numere aleatorii a browserului, care există tocmai pentru valori ce trebuie să fie imposibil de ghicit.

    Formele cu majuscule sau acolade vin din lumea Windows. Este același identificator, doar scris altfel.

    Cum sunt generați identificatorii

    Instrumentul apelează crypto.randomUUID din browser, care, potrivit W3C Web Cryptography API, creează un UUID de versiunea 4 din octeți aleatorii siguri din punct de vedere criptografic. În browserele mai vechi, fără această funcție, instrumentul umple singur 16 octeți cu crypto.getRandomValues și suprascrie apoi șase biți: jumătatea de sus a celui de-al șaptelea octet devine 0100, adică versiunea 4, iar cei doi biți de sus ai celui de-al nouălea octet devin 10, care marchează varianta. Se generează până la 100 de identificatori odată. Opțiunile pentru majuscule, acolade și cratime schimbă doar felul în care sunt scrise valorile, nu valorile înseși.

    Cum recunoști versiunea 4

    Biții ficși se văd în text. Primul caracter din al treilea grup este întotdeauna 4. Primul caracter din al patrulea grup este 8, 9, a sau b, pentru că doar doi dintre cei patru biți ai lui sunt ficși. În 29425587-fef8-497d-81d7-ddf905cf8e3f, generat cu codul instrumentului, aceste caractere sunt 4 și 8. Dacă pe aceste poziții stă altceva, identificatorul nu este de versiunea 4. RFC 9562 permite ca literele să fie scrise cu majuscule, cu minuscule sau amestecat.

    Cazuri limită

    Un UUID este un identificator, nu un secret. RFC 9562 spune că implementările nu ar trebui să presupună că UUID-urile sunt greu de ghicit și că nu au voie să le folosească drept capabilități de securitate, adică identificatori a căror simplă deținere dă acces. Un link de resetare a parolei are nevoie de un token făcut pentru acest scop.

    Ca cheie într-o bază de date, versiunea 4 are un dezavantaj pe care standardul însuși îl semnalează: valorile create una după alta ajung departe una de alta în index, așa că fiecare rând nou este inserat într-o poziție aleatorie. Versiunea 7 începe cu un marcaj de timp și se sortează astfel în ordinea în care au fost create valorile. Instrumentul generează doar versiunea 4.

    Două valori au în standard nume proprii: UUID-ul nul, numai zerouri, și UUID-ul maxim, numai f. Niciunul nu poate ieși din instrument, pentru că biții de versiune și de variantă sunt întotdeauna setați.

    Surse

    Cum sunt verificate instrumentele