linux c 生成uuid

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
/**
 * Create random UUID
 *
 * @param buf - buffer to be filled with the uuid string
 */
char *random_uuid( char buf[37] )
{
	const char *c = "89ab";
    char *p = buf;
    int n;
    for( n = 0; n < 16; ++n )
    {
        int b = rand()%255;
        switch( n )
        {
            case 6:
                sprintf(p, "4%x", b%15 );
			break;
            case 8:
                sprintf(p, "%c%x", c[rand()%strlen(c)], b%15 );
            break;
            default:
                sprintf(p, "%02x", b);
            break;
        }

        p += 2;
        switch( n )
        {
            case 3:
            case 5:
            case 7:
            case 9:
                *p++ = ‘-‘;
                break;
        }
    }
    *p = 0;
    return buf;
}

void main()
{
	char guid[37];
	random_uuid(guid);
	printf("guid = %s\n", guid);
	random_uuid(guid);
	printf("guid = %s\n", guid);
	random_uuid(guid);
	printf("guid = %s\n", guid);
	random_uuid(guid);
	printf("guid = %s\n", guid);
}

  运行如下:

[email protected]:~/src$ gcc getuuid.c
[email protected]:~/src$ ./a.out
guid = a397a255-53be-41fc-996b-521413e9e22d
guid = 518e1f56-0857-49a7-a5d0-528277751b99
guid = 4aed583d-6a52-49d5-b668-8ead955f3c35
guid = b5c48cdd-6c11-453d-91b4-59cfce233d27
[email protected]:~/src$

  

时间: 2024-10-09 23:57:30

linux c 生成uuid的相关文章

Java 生成 UUID

阅读目录 1.UUID 简介 2.UUID 组成 3.项目实战 回到顶部 1.UUID 简介 UUID含义是通用唯一识别码 (Universally Unique Identifier),这是一个软件建构的标准,也是被开源软件基金会 (Open Software Foundation, OSF) 的组织应用在分布式计算环境 (Distributed Computing Environment, DCE) 领域的一部分. UUID 的目的,是让分布式系统中的所有元素,都能有唯一的辨识资讯,而不需要

java生成UUID通用唯一识别码

一.UUID概述 UUID含义是通用唯一识别码 (Universally Unique Identifier),这是一个软件建构的标准,也是被开源软件基金会 (Open Software Foundation, OSF) 的组织在分布式计算环境 (Distributed Computing Environment, DCE) 领域的一部份. UUID 的目的,是让分布式系统中的所有元素,都能有唯一的辨识资讯,而不需要透过中央控制端来做辨识资讯的指定.如此一来,每个人都可以建立不与其它人冲突的 U

java生成UUID

UID含义是通用唯一识别码 (Universally Unique Identifier),这 是一个软件建构的标准,也是被开源软件基金会 (Open Software Foundation, OSF) 的组织在分布式计算环境 (Distributed Computing Environment, DCE) 领域的一部份.UUID 的目的,是让分布式系统中的所有元素,都能有唯一的辨识资讯,而不需要透过中央控制端来做辨识资讯的指定.如此一来,每个人都可以建立不与其它人冲突的 UUID.在这样的情况

(转)java生成UUID通用唯一识别码 (Universally Unique Identifier)

(原文链接:http://blog.csdn.net/carefree31441/article/details/3998553)   UUID含义是通用唯一识别码 (Universally Unique Identifier),这 是一个软件建构的标准,也是被开源软件基金会 (Open Software Foundation, OSF) 的组织在分布式计算环境 (Distributed Computing Environment, DCE) 领域的一部份.UUID 的目的,是让分布式系统中的所

java生成UUID通用唯一识别码 (Universally Unique Identifier)

UUID含义是通用唯一识别码 (Universally Unique Identifier),这 是一个软件建构的标准,也是被开源软件基金会 (Open Software Foundation, OSF) 的组织在分布式计算环境 (Distributed Computing Environment, DCE) 领域的一部份.UUID 的目的,是让分布式系统中的所有元素,都能有唯一的辨识资讯,而不需要透过中央控制端来做辨识资讯的指定.如此一来,每个人都可以建立不与其它人冲突的 UUID.在这样的情

java生成UUID通用唯一识别码 (Universally Unique Identifier),在线生成uuid:http://www.uuid.online/

看这篇文章前可以先直接在线生成一个uuid,预览一下, http://www.uuid.online/ UUID含义是通用唯一识别码 (Universally Unique Identifier),这 是一个软件建构的标准,也是被开源软件基金会 (Open Software Foundation, OSF) 的组织在分布式计算环境 (Distributed Computing Environment, DCE) 领域的一部份.UUID 的目的,是让分布式系统中的所有元素,都能有唯一的辨识资讯,而

Linux Shell 生成随机数和随机字符串

日常生活中,会经常用到随机数,使用场景非常广泛,例如买彩票.丢骰子.抽签.年会抽奖等. Shell 下如何生成随机数呢,米扑博客特意写了本文,总结 Linux Shell 产生随机数的多种方法. 本文原文转自米扑博客:Linux Shell 生成随机数和随机字符串 计算机产生的的只是"伪随机数",不会产生绝对的随机数(是一种理想随机数).实际上,伪随机数和理想随机数也是相对的概念,例如伪随机数在1万万亿亿亿年内也无法重复,算是理想随机数么? 伪随机数在大量重现时也并不一定保持唯一,但一

Linux中生成密钥的两种方法

Linux中生成密钥的两种方法 SSH服务支持一种安全认证机制,即密钥认证.所谓的密钥认证,实际上是使用一对加密字符串,一个称为公钥(publickey), 任何人都可以看到其内容,用于加密:另一个称为密钥(privatekey),只有拥有者才能看到,用于解密.通过公钥加密过的密文使用密钥可以轻松解密,但根据公钥来猜测密钥却十分困难. ssh的密钥认证就是使用了这一特性.服务器和客户端都各自拥有自己的公钥和密钥.如何使用密钥认证登录linux服务器呢? 在使用密钥认证远程登入linux之前,我们

Extjs生成UUID

好久没写博文了,最近公司接了个项目要求用Extjs, 个人觉得Extjs优点蛮多滴... 由于特殊需求需要JS处生成UUID,之前原生JS引用的是第三方的JS(源自github) 现在有了Extjs只需要一句话就分分钟搞定了: Ext.data.IdGenerator.get('uuid').generate(); 另外:貌似这个ID生成期可以自定义,这个打算以后研究一下.