本文目录一览:
1、java中生成的guid是多少位 2、怎样用java生成GUID与UUID 3、什么是UUID,Java中怎么产生UUID?
java中生成的guid是多少位
一个生成GUID的函数:
private string getGUID() {
System.Guid guid = new Guid();
guid = Guid.NewGuid();
string str = guid.ToString();
return str;
}
随机生成如下字符串:
e92b8e30-a6e5-41f6-a6b9-188230a23dd2
格式说明:
System.Guid.NewGuid().ToString(format)
格式 | 说明 |
---|---|
N | 32位:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx ,如:e92b8e30a6e541f6a6b9188230a23dd2 |
D | 由连字符分隔的32位数字:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx ,如:e92b8e30-a6e5-41f6-a6b9-188230a23dd2 |
B | 括在大括号中、由连字符分隔的32位数字:{xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx} ,如:{e92b8e30-a6e5-41f6-a6b9-188230a23dd2} |
P | 括在圆括号中、由连字符分隔的32位数字:(xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx) ,如:(e92b8e30-a6e5-41f6-a6b9-188230a23dd2) |
怎样用java生成GUID与UUID
GUID是一个128位长的数字,一般用16进制表示。算法的核心思想是结合机器的网卡、当地时间、一个随机数来生成GUID。从理论上讲,如果一台机器每秒产生10000000个GUID,则可以保证(概率意义上)3240年不重复。
什么是UUID,Java中怎么产生UUID?
UUID 是 通用唯一识别码(Universally Unique Identifier)的缩写,是一种软件建构的标准,亦为开放软件基金会组织在分布式计算环境领域的一部分。其目的,是让分布式系统中的所有元素,都能有唯一的辨识信息,而不需要通过中央控制端来做辨识信息的指定。
生成UUID的方法:
public static String getUUID32(){
String uuid = UUID.randomUUID().toString().replace("-", "").toLowerCase();
return uuid;
// return UUID.randomUUID().toString().replace("-", "").toLowerCase();
}
注:因为一般数据库主键为String类型,所以接收类型为String,生成的uuid数据包含-
,所以要去掉-
,故使用:
UUID.randomUUID().toString().replace("-", "").toLowerCase()
扩展资料:
UUID由以下几部分的组合:
- 当前日期和时间,UUID的第一个部分与时间有关,如果你在生成一个UUID之后,过几秒又生成一个UUID,则第一个部分不同,其余相同。
- 时钟序列。
- 全局唯一的IEEE机器识别号,如果有网卡,从网卡MAC地址获得,没有网卡以其他方式获得。
UUID的唯一缺陷在于生成的结果串会比较长。关于UUID这个标准使用最普遍的是微软的GUID(Globals Unique Identifiers)。
在ColdFusion中可以用CreateUUID()函数很简单地生成UUID,其格式为:
xxxxxxxx-xxxx-xxxx-xxxxxxxxxxxxxxxx
(8-4-4-16) 其中每个x
是0-9
或a-f
范围内的一个十六进制的数字。而标准的UUID格式为:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
(8-4-4-4-12) 可以从cflib下载CreateGUID() UDF进行转换。 参考资料:百度百科-UUID