① java uuid 和guid 的区别
UUID是一个由4个连字号(-)将32个字节长的字符串分隔后生成的字符串,总共36个字节长。比如:550e8400-e29b-41d4-a716-446655440000
http://gohands.blogbus.com/logs/147479174.html
GUID 是微软对UUID这个标准的实现。UUID是由开放软件基金会(OSF)定义的。UUID还有其它各种实现,不止GUID一种。比如我们这里在Java中用到的。
② 如何自动生成Guid码
在操作过程中,为了测试往往要插入一些Guid码,可以利用表格生成Guid码,操作过程如下:新建一个表格,两个字段即可,第一个字段是int
或者其它均可,第二个类型是uniqueidentifier,允许为空,关键是修改下面column
properties中的RowGuid,将No改为Yes,在表中添加第一个字段,Guid码在第二个字段中就自动生成了。
③ 哪位高手能提供个产生GUID的JAVA类
GUID是一个128位长的数字,一般用16进制表示。算法的核心思想是结合机器的网卡、当地时间、一个随即数来生成GUID。从理论上讲,如果一台机器每秒产生10000000个GUID,则可以保证(概率意义上)3240年不重复。
④ 请问java中能把guid转换成字符串吗
我觉得,能做到:非常人能做到,不然怎么号称全球唯一标识符呢....他这个算法可以逆过来
不像md5不可逆;
这个类在util包下,java开源的你想研究查看下吧:
我觉得你能按照它的原始算法逆过来,你可以直接上天了
你去知乎问问吧,大神都在那里,或许有所帮助,网络要是问的到,我直播剁吊...
⑤ 怎样用java生成GUID与UUID
两种方式生成guid与uuid
需要commlog库
/**
*@authorAdministrator
*
*
*Window-Preferences-Java-CodeStyle-CodeTemplates
*/
importjava.net.InetAddress;
importjava.net.UnknownHostException;
importjava.security.MessageDigest;
importjava.security.NoSuchAlgorithmException;
importjava.security.SecureRandom;
importjava.util.Random;
{
protectedfinalorg.apache.commons.logging.Loglogger=org.apache.commons.logging.LogFactory
.getLog(getClass());
publicStringvalueBeforeMD5="";
publicStringvalueAfterMD5="";
privatestaticRandommyRand;
;
privatestaticStrings_id;
privatestaticfinalintPAD_BELOW=0x10;
privatestaticfinalintTWO_BYTES=0xFF;
/*
*.
*.Youmight
*
*itwitha"timesincefirstloaded"seedtorecethistime.
*.
*/
static{
mySecureRand=newSecureRandom();
longsecureInitializer=mySecureRand.nextLong();
myRand=newRandom(secureInitializer);
try{
s_id=InetAddress.getLocalHost().toString();
}catch(UnknownHostExceptione){
e.printStackTrace();
}
}
/*
*Defaultconstructor.,
*,highperformance.
*/
publicRandomGUID(){
getRandomGUID(false);
}
/*
*Constructorwithsecurityoption.Settingsecuretrue
*
*strong.
*.
*/
publicRandomGUID(booleansecure){
getRandomGUID(secure);
}
/*
*MethodtogeneratetherandomGUID
*/
privatevoidgetRandomGUID(booleansecure){
MessageDigestmd5=null;
StringBuffersbValueBeforeMD5=newStringBuffer(128);
try{
md5=MessageDigest.getInstance("MD5");
}catch(NoSuchAlgorithmExceptione){
logger.error("Error:"+e);
}
try{
longtime=System.currentTimeMillis();
longrand=0;
if(secure){
rand=mySecureRand.nextLong();
}else{
rand=myRand.nextLong();
}
sbValueBeforeMD5.append(s_id);
sbValueBeforeMD5.append(":");
sbValueBeforeMD5.append(Long.toString(time));
sbValueBeforeMD5.append(":");
sbValueBeforeMD5.append(Long.toString(rand));
valueBeforeMD5=sbValueBeforeMD5.toString();
md5.update(valueBeforeMD5.getBytes());
byte[]array=md5.digest();
StringBuffersb=newStringBuffer(32);
for(intj=0;j<array.length;++j){
intb=array[j]&TWO_BYTES;
if(b<PAD_BELOW)
sb.append('0');
sb.append(Integer.toHexString(b));
}
valueAfterMD5=sb.toString();
}catch(Exceptione){
logger.error("Error:"+e);
}
}
/*
*
*(,etc.)
*Example:C2FEEEAC-CFCD-11D1-8B05-00600806D9B6
*/
publicStringtoString(){
Stringraw=valueAfterMD5.toUpperCase();
StringBuffersb=newStringBuffer(64);
sb.append(raw.substring(0,8));
sb.append("-");
sb.append(raw.substring(8,12));
sb.append("-");
sb.append(raw.substring(12,16));
sb.append("-");
sb.append(raw.substring(16,20));
sb.append("-");
sb.append(raw.substring(20));
returnsb.toString();
}
//
publicstaticvoidmain(Stringargs[]){
for(inti=0;i<100;i++){
RandomGUIDmyGUID=newRandomGUID();
System.out.println("SeedingString="+myGUID.valueBeforeMD5);
System.out.println("rawGUID="+myGUID.valueAfterMD5);
System.out.println("RandomGUID="+myGUID.toString());
}
}
}
同样
UUIDuuid=UUID.randomUUID();
System.out.println("{"+uuid.toString()+"}");
UUID是指在一台机器上生成的数字,它保证对在同一时空中的所有机器都是唯一的。通常平台会提供生成UUID的API。UUID按照开放软件基金会(OSF)制定的标准计算,用到了以太网卡地址、纳秒级时间、芯片ID码和许多可能的数字。由以下几部分的组合:当前日期和时间(UUID的第一个部分与时间有关,如果你在生成一个UUID之后,过几秒又生成一个UUID,则第一个部分不同,其余相同),时钟序列,全局唯一的IEEE机器识别号(如果有网卡,从网卡获得,没有网卡以其他方式获得),UUID的唯一缺陷在于生成的结果串会比较长。关于UUID这个标准使用最普遍的是微软的GUID(GlobalsUniqueIdentifiers)。
⑥ 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位: 如: 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)
⑦ 怎样在C#中产生像Java中的GUID呢
C#中产生GUID的函数为 Guid.NewGuid()
产生的GUID样式为 A5B992AD-BF33-4441-80D4-E0DCD3BFE56A
⑧ Java生成UUID通用唯一识别码有哪些
UUID含义是通用唯一识别码 (Unive
sally Unique Identifie
),这 是一个软件建构的标准,
也是
被开源软件基金会 (Open Softwa
e Foundation, OSF) 的组织在分布式计算环境 (Dist
i
uted Computing Envi
onment, DCE) 领域的一部份。UUID 的目的,是让分布式系统中的所有元素,都能有唯一的辨识资讯,而不需要透过中央控制端来做辨识资讯的指定。如此一来,每个人都可以建立不与其它人冲突的 UUID。在这样的情况下,就不需考虑数据库建立时的名称重复问题。目前最广泛应用的 UUID,即是微软的 Mic
osoft's Glo
ally Unique Identifie
s (GUIDs),而其他重要的应用,则有 Linux ext2
ext3 档案系统、LUKS 加密分割区、GNOME、KDE、Mac OS X 等等。
⑨ javascript 怎么生成guid
全局唯一标识符(GUID,Globally Unique Identifier)也称作 UUID(Universally Unique IDentifier) 。
GUID是一种由算法生成的二进制长度为128位的数字标识符。GUID 的格式为“xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx”,其中的 x 是 0-9 或 a-f 范围内的一个32位十六进制数。在理想情况下,任何计算机和计算机集群都不会生成两个相同的GUID。
GUID 的总数达到了2^128(3.4×10^38)个,所以随机生成两个相同GUID的可能性非常小,但并不为0。GUID一词有时也专指微软对UUID标准的实现。
在ITjob.他.们那看到的,还有很多算法,比如:
function uuid(len, radix) {
var chars = ''.split('');
var uuid = [], i;
radix = radix || chars.length;
if (len) {
// Compact form
for (i = 0; i < len; i++) uuid[i] = chars[0 | Math.random()*radix];
} else {
// rfc4122, version 4 form
var r;
// rfc4122 requires these characters
uuid[8] = uuid[13] = uuid[18] = uuid[23] = '-';
uuid[14] = '4';
// Fill in random data. At i==19 set the high bits of clock sequence as
// per rfc4122, sec. 4.1.5
for (i = 0; i < 36; i++) {
if (!uuid[i]) {
r = 0 | Math.random()*16;
uuid[i] = chars[(i == 19) ? (r & 0x3) | 0x8 : r];
}
}
}
return uuid.join('');
}
希望能帮到你吧
⑩ uuid交给数据库生成还是交给java生成好
UUID含义通用唯识别码 (Universally Unique Identifier) 软件建构标准源软件基金 (Open Software Foundation, OSF) 组织应用布式计算环境 (Distributed Computing Environment, DCE) 领域部 UUID 目让布式系统所元素都能唯辨识资讯需要透央控制端做辨识资讯指定每都建立与其冲突 UUID情况需考虑数据库建立名称重复问题目前广泛应用 UUID即微软 Microsoft's Globally Unique Identifiers (GUIDs)其重要应用则 Linux ext二/ext三 档案系统、LUKS 加密割区、GNOME、KDE、Mac OS X 等等 UUID指台机器数字保证同空所机器都唯通平台提供API // 使用JDK一.5,UUID变件简单事,JDK实现UUID: java.util.UUID,直接调用即. UUID uuid = UUID.randomUUID(); String s = UUID.randomUUID().toString();//用数据库主键id非错 //UUID由十六位数字组,表现形式例 //550E吧四00-E二9B-一一D四-A漆一陆-四四陆陆55四四000