Man page - uuid_generate_time(3)
Packages contains this manual
Available languages:
en fr uk ro sr deManual
UUID_GENERATE
NOMSYNOPSIS
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/>.