linux几种生成uuid的方法

2017-11-14

通用唯一识别码(英语:Universally Unique Identifier,简称UUID)是一种软件建构的标准,亦为自由软件基金会组织在分散式计算环境领域的一部份。UUID的目的,是让分散式系统中的所有元素,都能有唯一的辨识信息,而不需要通过中央控制端来做辨识信息的指定。如此一来,每个人都可以创建不与其它人冲突的UUID。在这样的情况下,就不需考虑数据库创建时的名称重复问题。目前最广泛应用的UUID,是微软公司的全局唯一标识符(GUID)。

 

1 nodejs 生成uuid

npm install node-uuid

 

uuid.js
var uuid = require('node-uuid');
console.log(uuid.v1())
console.log(uuid.v4())

 

也可以存为uuid.js
node uuid.js

14e80000-c91e-11e7-b925-411738ddf5fe
966f50b8-9c35-41f6-beeb-608878ee8c22

 

2 python生成uuid
uuid模块在Python 2.5以后引入,接口包括:不可变对象UUID(UUID类)和函数uuid1()、uuid3()、uuid4()和uuid5(),后面的四个函数用于生成 RFC 4122 规范中指定的第1、3、4、5版UUID。使用uuid1()或uuid4()可以获得一个唯一的ID,uuid1()包含了主机的网络名称,uuid4()不涉及网络主机名,仅生成一个随机UUID,因此从隐私保护角度uuid4()更加安全。

#!/usr/bin/python

import uuid
print uuid.uuid1()
print uuid.uuid4()

 

3 shell生成uuid
cat /proc/sys/kernel/random/uuid
uuidgen的小工具,运行即可生成一个UUID到标准输出

4 libuuid是一个用于生成UUID的C库
#include <stdio.h>
#include <uuid/uuid.h>

int main(int argc, char **argv)
{
uuid_t uuid;
char str[36];

uuid_generate(uuid);
uuid_unparse(uuid, str);

printf("%s\n", str);

return 0;
}

 

在Linux下编译时需要链接uuid库
gcc -o uuid uuid.c -luuid

 

5 JDK 1.5以上支持UUID,用法如下:
import java.util.UUID;
String uuid = UUID.randomUUID().toString();

 

6 查看设备的uuid的三种方法,总结如下:

命令查看:blkid
文件查看:ls -l /dev/disk/by-uuid
命令查看:vol_id /dev/sda1

7、网卡的UUID

nmcli con show

8、mysql获取uuid()
Mysql > select uuid();\G

9、oracle
select sys_guid() from dual;
93B1A99C-EF2B-96AF-E050-2E0ADAD87D32
select lower(sys_guid()) from dual;
select substr(lower(sys_guid()),1,32) from dual;

SQL> select substr(lower(sys_guid()),1,8)||'-'||substr(lower(sys_guid()),9,4)|| '-'||substr(lower(sys_guid()),13,4)||'-'||substr(lower(sys_guid()),17,4) ||'-'||substr(lower(sys_guid()),21,12) uuid from dual;

分类:操作系统数据库 | 标签: |

相关日志

评论被关闭!