У меня есть простая функция C ++, которая вызывает "uuid_generate_random".Кажется, сгенерированный UUID не соответствует стандарту (UUID версии 4).Любые идеи?
Я использую код (функции uuid_generate_random & uuid_unparse доступны в libuuid):
char uuidBuff[36];
uuid_t uuidGenerated;
uuid_generate_random(uuidGenerated);
uuid_unparse(uuidGenerated, uuidBuff);
Я понимаю, что «uuid_generate_random» генерирует UUID версии 4, однакоВозвращаемая строка имеет вид:
Run1) 2e9dc3c5-426a-eea0-8186-f6b65b5dc361
Run2) 112c6a78-51bc-cbbb-ae9c-92a33e1fd95f
Run3) 5abd3d6d-0259-ce5c-8428-a51bacc04c0f
Run4) 66a22485-7e5f-e5c2-a317-c1b295bf124f
Похоже, что она возвращает случайные символы для всей строки.Определение из википедии, оно должно быть в форме:
xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx с любыми шестнадцатеричными цифрами для x, но только одной из 8, 9, A или B для y.
Любая информация будет принята с благодарностью.
С уважением, Даниил