生成UUID的方法

原载:https://puxx.blog.ustc.edu.cn/index.php/2013/06/28/uuid%E7%94%9F%E6%88%90%E6%96%B9%E6%B3%95%E6%80%BB%E7%BB%93/

UUID简介

  开发人员或多或少都应该知道UUID或GUID,这是摘自维基百科的一段描述。

  通用唯一识别码 (Universally Unique Identifier, UUID) 是一个软件建构的标准,亦为自由软件基金会 (Open Software Foundation, OSF) 的组织在分散式计算环境 (Distributed Computing Environment, DCE) 领域的一部份。UUID 的目的,是让分散式系统中的所有元素,都能有唯一的辨识资讯,而不需要透过中央控制端来做辨识资讯的指定。如此一来,每个人都可以建立不与其它人冲突的 UUID。在这样的情况下,就不需考虑数据库建立时的名称重复问题。目前最广泛应用的 UUID,即是微软的 Microsoft's Globally Unique Identifiers (GUIDs),而其他重要的应用,则有 Linux ext2/ext3 档案系统、LUKS 加密分割区、GNOME、KDE、Mac OS X 等等。另外我们也可以在 e2fsprogs 套件中的 UUID 函式库找到实作。

生成方法

  1.几乎所有Unix和类Unix环境中都包含了一个名为uuidgen的小工具,运行即可生成一个UUID;

  2.读取文件/proc/sys/kernel/random/uuid即得UUID,例如:cat /proc/sys/kernel/random/uuid;

  3.libuuid是一个用于生成UUID的C库,调用该库的函数uuid_generate和uuid_unparse可以得到uuid;

  4.JAVA JDK 1.5以上支持UUID,用法如下:String uuid = UUID.randomUUID().toString();

  5.window下API函数HRESULT CoCreateGuid(__out GUID *pguid)可生成GUID(即UUID);

  6.另外还有很多开源库中如boost qt等库中也提供了uuid的生成方法。

 

 

  

 

posted @ 2014-03-20 14:52  cerberspace  阅读(1156)  评论(0)    收藏  举报