Provided by: util-linux-locales_2.41-4ubuntu3_all bug

NUME

       uuid_generate, uuid_generate_random, uuid_generate_time, uuid_generate_time_safe - creează o nouă valoare
       unică UUID

REZUMAT

       #include <uuid.h>

       void uuid_generate(uuid_t out); +
       void uuid_generate_random(uuid_t out); +
       void uuid_generate_time(uuid_t out); +
       int uuid_generate_time_safe(uuid_t out); +
       void uuid_generate_md5(uuid_t out, const uuid_t ns, const char *name, size_t len); +
       void uuid_generate_sha1(uuid_t out, const uuid_t ns, const char *name, size_t len);

DESCRIERE

       Funcția uuid_generate() creează un nou identificator unic universal (UUID). Uuid-ul va fi generat pe baza
       unui caracter aleatoriu de înaltă calitate din getrandom(2), /dev/urandom sau /dev/random, dacă este
       disponibil. Dacă nu este disponibil, atunci uuid_generate() va utiliza un algoritm alternativ care
       folosește ora curentă, adresa MAC a rețelei ethernet locale (dacă este disponibilă) și date aleatoare
       generate cu ajutorul unui generator pseudo-aleator.

       Funcția uuid_generate_random() forțează utilizarea formatului UUID complet aleatoriu, chiar dacă nu este
       disponibil un generator de numere aleatorii de înaltă calitate, caz în care va fi înlocuit cu un
       generator pseudo-aleatoriu. Rețineți că utilizarea unui generator pseudo-aleatoriu poate compromite
       unicitatea UUID-urilor generate în acest mod.

       Funcția uuid_generate_time() forțează utilizarea algoritmului alternativ care utilizează ora curentă și
       adresa MAC ethernet locală (dacă este disponibilă). Acest algoritm a fost utilizat în mod implicit pentru
       generarea UUID-urilor, dar din cauza utilizării adresei MAC ethernet, acesta poate furniza informații
       despre momentul și locul în care a fost generat UUID-ul. Acest lucru poate cauza probleme de
       confidențialitate în unele aplicații, astfel încât funcția uuid_generate() utilizează acest algoritm
       numai dacă nu este disponibilă o sursă de generare de numere aleatorii de înaltă calitate. Pentru a
       garanta unicitatea UUID-urilor generate de procese care rulează simultan, biblioteca uuid utilizează un
       contor global de stare a ceasului (dacă procesul are permisiuni pentru a obține acces exclusiv la acest
       fișier) și/sau demonul uuidd(8), dacă acesta rulează deja sau poate fi inițiat de proces (dacă este
       instalat și procesul are suficiente permisiuni pentru a-l rula). În cazul în care niciunul dintre aceste
       două mecanisme de sincronizare nu poate fi utilizat, este teoretic posibil ca două procese care rulează
       simultan să obțină același UUID (UUID-uri). Pentru a afla dacă UUID-ul a fost generat într-un mod sigur,
       utilizați uuid_generate_time_safe.

       Funcția uuid_generate_time_safe() este similară cu uuid_generate_time(), cu excepția faptului că
       returnează o valoare care indică dacă a fost utilizat vreunul dintre mecanismele de sincronizare (a se
       vedea mai sus).

       UUID-ul are o lungime de 16 octeți (128 de biți), ceea ce dă aproximativ 3,4x10^38 valori unice (există
       aproximativ 10^80 de particule elementare în univers, conform cărții Cosmos a lui Carl Sagan). Noul UUID
       poate fi considerat în mod rezonabil unic între toate UUID-urile create pe sistemul local și între
       UUID-urile create pe alte sisteme în trecut și în viitor.

       Funcțiile uuid_generate_md5() și uuid_generate_sha1() generează un UUID calculat (previzibil) folosind
       algoritmele MD5 și SHA1 pe baza unui UUID bine cunoscut care furnizează spațiul de nume și a unui șir
       binar arbitrar. UUID-urile sunt conforme cu UUID-urile V3 și V5 conform RFC-4122
       <https://tools.ietf.org/html/rfc4122>.

VALOAREA RETURNATĂ

       UUID-ul nou creat este returnat în locația de memorie indicată de out. uuid_generate_time_safe()
       returnează zero dacă UUID-ul a fost generat într-un mod sigur, iar în caz contrar -1.

ÎN CONFORMITATE CU

       Această bibliotecă generează UUID-uri compatibile cu OSF DCE 1.1 și UUID-uri bazate pe sumele de control
       (hash) V3 și V5 compatibile cu RFC-4122 <https://tools.ietf.org/html/rfc4122>.

AUTORI

       Theodore Y. Ts’o

CONSULTAȚI ȘI

       uuidgen(1), uuid(3), uuid_clear(3), uuid_compare(3), uuid_copy(3), uuid_is_null(3), uuid_parse(3),
       uuid_time(3), uuid_unparse(3), uuidd(8)

RAPORTAREA ERORILOR

       Pentru rapoarte de eroare, folosiți sistemul de urmărire al erorilor
       <https://github.com/util-linux/util-linux/issues>.

DISPONIBILITATE

       Biblioteca libuuid face parte din pachetul util-linux începând cu versiunea 2.15.1. Acesta poate fi
       descărcat de la Linux Kernel Archive <https://www.kernel.org/pub/linux/utils/util-linux/>.

util-linux 2.41                                    2025-07-02                                   UUID_GENERATE(3)