ГОСТ Р ИСО/МЭК 9834-8—2011
DWORD I;
char hostname(MAX_COMPUTERNAME_LENGTH «• 1);
}г.
MD5lnit(&c);
GlobaiMemoryStatus(&r.m);
OetSystemlnfo{&r.s).
GetSystemTimeAsFlleTime(&r.t);
QueryPerformanceCounter(&r.pc).
r.tc • GetTicKCount();
r.l = MAX_COMPUTERNAME_LENGTH ♦ 1;
GetComputerName(r.hostname. &r.l).
MD5Update(&c. &r. sizeof r):
MD5Flnal(seed. &c):
)
«else
void get_system_tlme(uuid_time_t *uuid lime)
struct tlmevaltp:
gettimeofday(&tp. (struct timezone *)0);
Г Сдвиг между форматами времени УУИд и Unix.
Для УУИд базовым UTC является 15 октября 1582 г.
Для Unix базовым временем является 1 января 1970 г.*/
*uuid time® (tp.tv_sec* 10000000) + (tp.tv_usec’ 10) + 164(0x0182100213814000);
)
voidget_randomJnfo<unsigned charseed(16])
{
MD5_CTXc:
struct {
struct tlmeval t.
char hostname(257];
}r:
MD5lnlt(4c);
gettimeofday(&r.t, (struct timezone *)0):
gethostname(r.hostname. 256);
MD5Update(&c. &r. sizeof r);
MD5Flnat(seed. &c);
)
«endif
D.7 OaHnutest.c
«include •copyrt.h"
«Include ‘sysdep.h*
«include <stdio.h>
«Include *uuid.h*
uuid_t NameSpace_DNS = {Г 6ba7b810-9dad-11d1 -80b4-00c04fd430c8 */
0x6ba7b810.
0x9dad.
0x11d1,
0x80.0xb4.0x00. OxcO. 0x4f, 0xd4.0x30.0xc8
):
/* puld -- печать УУИд V
void puid(uuld_t u)
{
24