Man page - uuid_generate_random(3)

Packages contains this manual

Available languages:

en fr uk ro sr de

Manual

UUID_GENERATE

NOM
SYNOPSIS
DESCRIPTION
VALEUR RENVOYÉE
CONFORMITÉ
AUTEURS
VOIR AUSSI
SIGNALER DES BOGUES
DISPONIBILITÉ

NOM

uuid_generate, uuid_generate_random, uuid_generate_time, uuid_generate_time_safe - Créer une nouvelle valeur unique d'UUID

SYNOPSIS

#include <uuid.h>

void uuid_generate(uuid_t sortie ); +
void uuid_generate_random(uuid_t
sortie ); +
void uuid_generate_time(uuid_t
sortie ); +
int uuid_generate_time_safe(uuid_t
sortie ); +
void uuid_generate_md5(uuid_t
sortie , const uuid_t ns , const char *nom , size_t long ); +
void uuid_generate_sha1(uuid_t
sortie , const uuid_t ns , const char *nom , size_t long );

DESCRIPTION

La fonction uuid_generate () crĂ©e un nouvel identifiant unique universel (UUID). L’UUID sera gĂ©nĂ©rĂ© en se basant sur la haute qualitĂ© alĂ©atoire de getrandom (2), /dev/urandom ou /dev/random , s’il est disponible. S’il ne l’est pas, alors uuid_generate () utilisera un autre algorithme qui utilise l’heure actuelle, l’adresse MAC Ethernet locale (si disponible) et une donnĂ©e alĂ©atoire gĂ©nĂ©rĂ©e par un gĂ©nĂ©rateur pseudoalĂ©atoire.

La fonction uuid_generate_random () impose l’utilisation d’UUID totalement alĂ©atoires, mĂȘme si le gĂ©nĂ©rateur haute qualitĂ© de nombres alĂ©atoires (c’est-Ă -dire, /dev/urandom ) n’est pas disponible, auquel cas un gĂ©nĂ©rateur pseudoalĂ©atoire lui sera substituĂ©. À noter que l’utilisation du gĂ©nĂ©rateur pseudoalĂ©atoire peut compromettre l’unicitĂ© des UUID gĂ©nĂ©rĂ©s de cette façon.

La fonction uuid_generate_time () impose l’utilisation de l’algorithme alternatif qui utilise l’heure actuelle et l’adresse MAC Ethernet locale (si disponible). Cet algorithme Ă©tait celui utilisĂ© par dĂ©faut pour gĂ©nĂ©rer les UUID, mais Ă  cause de l’utilisation de l’adresse MAC Ethernet, il peut divulguer des informations sur quand et oĂč l’UUID a Ă©tĂ© créé. Cela peut poser des problĂšmes de confidentialitĂ© dans certaines applications. Par consĂ©quent, la fonction uuid_generate () n’utilise cet algorithme que si aucune source de gĂ©nĂ©ration alĂ©atoire de haute qualitĂ© n’est disponible. Pour garantir l’unicitĂ© des UUID gĂ©nĂ©rĂ©s par les processus exĂ©cutĂ©s en mĂȘme temps, la bibliothĂšque uuid utilise un compteur d’état d’horloge global (si le processus est autorisĂ© Ă  obtenir un accĂšs exclusif Ă  ce fichier) et/ou le dĂ©mon uuidd (8) s’il est dĂ©jĂ  en cours d’exĂ©cution ou peut ĂȘtre engendrĂ© par le processus (s’il est installĂ© et que le processus est autorisĂ© Ă  l’exĂ©cuter). Si aucun de ces deux mĂ©canismes de synchronisation ne peut ĂȘtre utilisĂ©, il est thĂ©oriquement possible que deux processus exĂ©cutĂ©s en mĂȘme temps obtiennent les mĂȘmes UUID. Pour savoir si l’UUID a Ă©tĂ© gĂ©nĂ©rĂ© de façon sĂ»re, utilisez uuid_generate_time_safe .

La fonction uuid_generate_time_safe () est similaire Ă  uuid_generate_time () si ce n’est qu’elle renvoie une valeur qui indique si un des mĂ©canismes de synchronisation (voir ci-dessus) a Ă©tĂ© utilisĂ©.

L’UUID est long de 16 octets (128 bits), ce qui donne environ 3,4 x 10ˆ38\ valeurs uniques (il y a environ 10ˆ80 particules Ă©lĂ©mentaires dans l’univers d’aprĂšs le Cosmos de Carl Sagan). Le nouvel UUID peut ĂȘtre raisonnablement considĂ©rĂ© comme unique parmi tous les UUID créés localement sur le systĂšme, ainsi que parmi les UUID créés sur d’autres systĂšmes par le passĂ© et dans le futur.

Les fonctions uuid_generate_md5 () et uuid_generate_sha1 () génÚrent un UUID haché (donc prédictible) par MD5 et SHA1 en se basant sur un UUID bien connu fournissant un espace de noms et une chaßne binaire arbitraire. Les UUID sont conformes aux UUID versions 3 et 5 de la norme RFC-4122 <https://tools.ietf.org/html/rfc4122>.

VALEUR RENVOYÉE

Le nouveau UUID créé est renvoyĂ© dans l’emplacement mĂ©moire pointĂ© par out . uuid_generate_time_safe () renvoie zĂ©ro si l’UUID a Ă©tĂ© gĂ©nĂ©rĂ© de façon sĂ»re, -1 sinon.

CONFORMITÉ

Cette bibliothĂšque gĂ©nĂšre des UUID compatibles avec la DCE 1.1 d’OSF et des UUID versions 3 et 5, basĂ©s sur un hachage, compatibles avec la RFC-4122 <https://tools.ietf.org/html/rfc4122>.

AUTEURS

Theodore Y. Ts’o

VOIR AUSSI

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)

SIGNALER DES BOGUES

Pour signaler un bogue, utilisez le gestionnaire de bogues <https://github.com/util-linux/util-linux/issues>.

DISPONIBILITÉ

La bibliothùque libuuid fait partie du paquet util-linux depuis la version 2.15.1. Elle est disponible sur l’archive du noyau Linux <https://www.kernel.org/pub/linux/utils/util-linux/>.