本文目录一览:
- 1、java如何对一个字符串生成唯一的编码
- 2、什么是UUID,Java中怎么产生UUID
- 3、使用java.util.UUID生成唯一标识,为什么生成唯一标识的方法有些还需要参数?
- 4、关于请问如何用java生成一个指定长度的UUID
- 5、Java存储函数中使用UUID
- 6、怎样用java生成GUID与UUID
java如何对一个字符串生成唯一的编码
JAVA类库中可以使用UUID方法,来生成唯一的数字的一串数字编号,也就是订单号。
UUID.randomUUID().toString().replaceAll("-", "");通过上述方法就可以返回一串数字字符串。
什么是UUID,Java中怎么产生UUID
UUID是指在一台机器上生成的数字,它保证对在同一时空中的所有机器都是唯一的。通常平台会提供生成的API。按照开放软件基金会(OSF)制定的标准计算,用到了以太网卡地址、纳秒级时间、芯片ID码和许多可能的数字
UUID由以下几部分的组合:
(1)当前日期和时间,UUID的第一个部分与时间有关,如果你在生成一个UUID之后,过几秒又生成一个UUID,则第一个部分不同,其余相同。
(2)时钟序列。
(3)全局唯一的IEEE机器识别号,如果有网卡,从网卡MAC地址获得,没有网卡以其他方式获得。
使用java.util.UUID生成唯一标识,为什么生成唯一标识的方法有些还需要参数?
//先看不加参数的源码
public static UUID randomUUID() {
SecureRandom ng = Holder.numberGenerator;
byte[] randomBytes = new byte[16];
ng.nextBytes(randomBytes);
randomBytes[6] = 0x0f; /* clear version */
randomBytes[6] |= 0x40; /* set to version 4 */
randomBytes[8] = 0x3f; /* clear variant */
randomBytes[8] |= 0x80; /* set to IETF variant */
return new UUID(randomBytes);//看到这里没,其实也是调用的带参数的,只不过
//所带参数的是给你随机出来的
}
//再看带参数的
public static UUID nameUUIDFromBytes(byte[] name) {
MessageDigest md;
try {
md = MessageDigest.getInstance("MD5");
} catch (NoSuchAlgorithmException nsae) {
throw new InternalError("MD5 not supported");
}
byte[] md5Bytes = md.digest(name);//这里就是对给的byte[]参数进行md5运算之后再进行计算UUID
md5Bytes[6] = 0x0f; /* clear version */
md5Bytes[6] |= 0x30; /* set to version 3 */
md5Bytes[8] = 0x3f; /* clear variant */
md5Bytes[8] |= 0x80; /* set to IETF variant */
return new UUID(md5Bytes);
}
关于请问如何用java生成一个指定长度的UUID
// 如果使用的JDK1.5的话,那么生成UUID变成了一件简单的事,以为JDK实现了UUID:
java.util.UUID,直接调用即可.
UUID uuid = UUID.randomUUID();
String s = UUID.randomUUID().toString();//用来生成数据库的主键id非常不错。。
//UUID是由一个十六位的数字组成,表现出来的形式例如
//550E8400-E29B-11D4-A716-446655440000
Java存储函数中使用UUID
UUID是1.5中新增的一个类,在java.util下,用它可以产生一个号称全球唯一的ID。 import java.util.UUID; public class Test { public static void main(String[] args) { UUID uuid = UUID.randomUUID(); System.out.println (uuid); } }
怎样用java生成GUID与UUID
import java.util.UUID; // 导入包
public class demo {
public static void main(String args[]) {
UUID uuid=UUID.randomUUID();
String strUUID=uuid.toString();
System.out.println("strUUID="+strUUID);
}
}