Provided by: util-linux-locales_2.39.1-4ubuntu2.2_all bug

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 len);
       void uuid_generate_sha1(uuid_t sortie, const uuid_t ns, const char *nom, size_t len);

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 sur
       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/>.