/******************************************************************************* * * 函数名称 : create_dfp * * 函数描述 : 根据设备指纹信息名称生成DFP(设备指纹) * * 输入参数 : char* dfp_info: 保存了获取的设备指纹信息名称 * char* dfp : 用于保存生成的DFP * * 输出参数 : char* dfp : 生成的DFP * * 返回值 : 0:success other:failed * * 备注 : N/A * * 修改日期 修改人 修改内容 * * ----------------------------------------------- * * 2015/09/04 郭家勇 新建 * *******************************************************************************/ int create_dfp(char* dfp_info, char* dfp) { int ret = 0; lic_uuid_t u; lic_uuid_t nsid = {/* 6ba7b810-9dad-11d1-80b4-00c04fd430c8 */ 0x6ba7b810, 0x9dad, 0x11d1, 0x80, 0xb4, {0x00, 0xc0, 0x4f, 0xd4, 0x30, 0xc8} }; /* byte* test = &nsid; int j; for(j=0; j<16; j++){ printf("%02x", test[j]); } printf("\n"); */ uuid_create_md5_from_name(&u, nsid, "www.widgets.com", 15); //puid(u); sprintf(dfp, "%08x-%04x-%4.4x-%2.2x%2.2x-", u.time_low, u.time_mid, u.time_hi_and_version, u.clock_seq_hi_and_reserved, u.clock_seq_low); int i; char tmp[10][2] = {}; for (i = 0; i < 6; i++) sprintf(tmp[i], "%2.2x", u.node[i]); strcat(dfp, *tmp); if(strlen(dfp) != 36) { ret = -1; } return ret; }
/* Simple driver for UUID generator */ void main(int argc, char **argv) { uuid_t u; int f; if(argc > 1) { uuid_create_sha1_from_name(&u, NameSpace_WS, argv[1], strlen(argv[1])); printf("s/$(UUID)/"); puid(u); printf("/\n"); exit(0); } else { uuid_create(&u); printf("uuid_create(): "); puid(u); printf("\n"); f = uuid_compare(&u, &u); printf("uuid_compare(u,u): %d\n", f); /* should be 0 */ f = uuid_compare(&u, &NameSpace_DNS); printf("uuid_compare(u, NameSpace_DNS): %d\n", f); /* s.b. 1 */ f = uuid_compare(&NameSpace_DNS, &u); printf("uuid_compare(NameSpace_DNS, u): %d\n", f); /* s.b. -1 */ uuid_create_md5_from_name(&u, NameSpace_DNS, "www.widgets.com", 15); printf("uuid_create_md5_from_name(): "); puid(u); printf("\n"); } }
/* Simple driver for UUID generator */ void main(int argc, char **argv) { uuid_t u; int f; int i; for(i=0;i<100;i++) { uuid_create(&u); printf("uuid_create(): "); puid(u); } f = uuid_compare(&u, &u); printf("uuid_compare(u,u): %d\n", f); /* should be 0 */ f = uuid_compare(&u, &NameSpace_DNS); printf("uuid_compare(u, NameSpace_DNS): %d\n", f); /* s.b. 1 */ f = uuid_compare(&NameSpace_DNS, &u); printf("uuid_compare(NameSpace_DNS, u): %d\n", f); /* s.b. -1 */ uuid_create_md5_from_name(&u, NameSpace_DNS, "www.widgets.com", 15); printf("uuid_create_md5_from_name(): "); puid(u); }
/* Simple driver for UUID generator */ void main(int argc, char **argv) { uuid_t u; int f; uuid_create(&u); printf("uuid_create(): "); puid(u); char my_uuid[35]; gen_uuid(my_uuid, 35); printf("my_uuid:%s\n", my_uuid); f = uuid_compare(&u, &u); printf("uuid_compare(u,u): %d\n", f); /* should be 0 */ f = uuid_compare(&u, &NameSpace_DNS); printf("uuid_compare(u, NameSpace_DNS): %d\n", f); /* s.b. 1 */ f = uuid_compare(&NameSpace_DNS, &u); printf("uuid_compare(NameSpace_DNS, u): %d\n", f); /* s.b. -1 */ uuid_create_md5_from_name(&u, NameSpace_DNS, "www.widgets.com", 15); printf("uuid_create_md5_from_name(): "); puid(u); }