Provided by: util-linux-locales_2.40.2-14ubuntu1.1_all 

НАЗИВ
uuid_generate, uuid_generate_random, uuid_generate_time, uuid_generate_time_safe - ствара нову
јединствену УУИД вредност
УВОД
#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);
ОПИС
Функција uuid_generate() ствара нови универзални јединствени одредник (UUID). ууид ће бити створен на
основу висококвалитетне насумичности из getrandom(2), /dev/urandom, или /dev/random ако су доступни. Ако
нису доступни, тада ће uuid_generate() користити заменски алгоритам који користи тренутно време, локалну
етернет MAC адресу (ако је доступна), и насумичне податке створене коришћењем псеудо-насумичног
генератора.
Функција uuid_generate_random() приморава коришћење потпуно-насумичног УУИД формата, чак и ако генератор
високо-квалитетног насумичног броја није доступан, у ком случају ће псеудо-насумични генератор бити
замењен. Знајте да употреба псеудо-насумичног генератора може угрозити јединственост УУИД-а створених на
овај начин.
Функција uuid_generate_time() намеће коришћење заменског алгоритма који користи тренутно време и локалну
етернет MAC адресу (ако је доступна). Овај алгоритам је некада био основни алгоритам који се користио за
стварање УУИД-а, али због коришћења етернет MAC адресе, могу да му процуре информације о томе када и где
је УУИД створен. Ово може да доведе до проблема са приватношћу у неким програмима, тако да функција
uuid_generate() користи овај алгоритам само ако висококвалитетни извор насумичности не буде доступан. Да
би се осигурала јединственост УУИД-а створених истовремено покренутим процесима, библиотека „uuid“
користи општи бројач стања сата (ако процес има дозволе да добије ексклузивни приступ овој датотеци)
и/или uuidd(8) демона, ако је већ покренут или може бити покренут од стране процеса (ако је инсталиран и
процес има довољно дозвола да га покрене). Ако се ниједан од ова два механизма синхронизације не може
користити, теоретски је могуће да два процеса који се истовремено извршавају добију исти/е УУИД(е). Да
бисте утврдили да ли је УУИД створен на безбедан начин, користите uuid_generate_time_safe.
Функција uuid_generate_time_safe() је слична са uuid_generate_time(), осим што резултира вредношћу која
означава да ли је неки од механизама усклађивања (видите изнад) коришћен.
УУИД је дуг 16 бајтова (128 бита), што даје приближно 3,4x10^38 јединствених вредности (постоји приближно
10^80 елементарних честица у универзуму према Космосу Карла Сагана). Нови УУИД се разумно може сматрати
јединственим међу свим УУИД-има створеним на локалном систему, као и међу УУИД-има створеним на другим
системима у прошлости и будућности.
Функције uuid_generate_md5() и uuid_generate_sha1() стварају MD5 и SHA1 хеширан (предвидив) УУИД заснован
на добро познатом УУИД-у који обезбеђује називни простор и необавезну бинарну ниску. УУИД-и су сагласни
са V3 и V5 УУИД-има према RFC-4122 <https://tools.ietf.org/html/rfc4122>.
РЕЗУЛТНА ВРЕДНОСТ
Ново створени УУИД резултира у меморији на месту на које показује излаз. uuid_generate_time_safe() даје
нулу ако је УУИД створен на безбедан начин, у супротном -1.
У СКАЛДУ СА
Ова библиотека ствара УУИД-е саобразне са OSF DCE 1.1, и хеш засноване УУИД-е V3 и V5 саобразне са
RFC-4122 <https://tools.ietf.org/html/rfc4122>.
АУТОРИ
Theodore Y. Ts’o
ПОГЛЕДАЈТЕ ТАКОЂЕ
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)
ПРИЈАВЉИВАЊЕ ГРЕШАКА
За пријављивање грешака, користите пратиоца грешака на https://github.com/util-linux/util-linux/issues.
ДОСТУПНОСТ
Библиотека libuuid је део пакета „util-linux“ још од издања 2.15.1. Може се преузети са Архиве Линукс
кернела <https://www.kernel.org/pub/linux/utils/util-linux/>.
util-linux 2.40.2 2025-06-05 UUID_GENERATE(3)