import java.net.InetAddress;
import java.net.UnknownHostException;
public class GUID {
private static String hostAddr = "" + (int)Math.random() * 90000;
/**
* 随机UUID,Type 4
* @return String
*/
public static String getNewGUID(){
return java.util.UUID.randomUUID().toString();
}
/**
* 截取随机UUID, 截成20位
*/
public static String getNewId(){
return java.util.UUID.randomUUID().toString().substring(20);
}
/**
* 命名UUID,Type 3<br>
* 命名参数:服务器IP + 服务器名 + 随机UUID + 随机数<br>
* <br>
* 出错返回的是用参数:随机数 + 随机UUID 返回的命名UUID
* @return String
*/
public static String getNameGUID() {
try {
if (hostAddr.length()<8){
hostAddr += InetAddress.getLocalHost().getHostAddress() + InetAddress.getLocalHost().getCanonicalHostName();
}
String factor = hostAddr + getNewGUID() + Math.random();
return java.util.UUID.nameUUIDFromBytes(factor.getBytes()).toString();
} catch (UnknownHostException e) {
e.printStackTrace();
}
return java.util.UUID.nameUUIDFromBytes((Math.random() + getNewGUID()).getBytes()).toString();
}
/**
* 命名UUID,Type 3<br>
* 不同的参数返回不同的UUID,否则一样<br>
* 其实就是用MD5编码后的字符串。
* @param nameString
* @return
*/
public static String getNameGUID(String nameString){
return java.util.UUID.nameUUIDFromBytes(nameString.getBytes()).toString();
}
}
分享到:
相关推荐
UUID生成工具类
获取手机UUID,可以获得唯一字符串,用于表示一个独立设备
标题“uuid.rar_C获得UUID_UUID C_c生成uuid_c语言生成uuid_uuid”表明这是一个关于使用C语言实现UUID生成的资源包。这个压缩包可能包含了一个C语言编写的程序或库,可以用来在Windows平台上(通过VC6编译器)生成...
描述中提到的“全局唯一的id,更具ip加地址时间戳等生成的唯一性id”,这可能是指一种特定的UUID生成策略,它结合了IP地址、时间戳和其他可能的信息来进一步确保ID的独特性。这样的方法可以增强ID的可追踪性和意义,...
有序UUID生成器 借鉴hibernate的UUID生成器 CustomVersionOneStrategy。
uuid生成,可生成16个字符的唯一码。使用方法,见main函数
32位UUID生成工具,正如标题所描述的,是一种专门用来生成32个16进制数字组成的唯一标识的程序。尽管128位的UUID标准形式由32个十六进制数字组成,这里提到的"32位"可能是指显示或输入时使用的简化形式,即用户仅...
UUID生成器就是这样一个工具,能够自动生成这种具有唯一性的标识符。 标题中的"UUID生成器"是一个应用程序,它设计的目标是简洁易用,用户无需关心具体实现,只需解压缩后即可运行。由于已包含jre(Java Runtime ...
在Android中,我们可以使用Java的`java.util.UUID`类来生成UUID。这个类提供了`randomUUID()`方法,它会生成一个基于当前时间的随机UUID,保证在全局范围内的唯一性。 ```java UUID uniqueId = UUID.randomUUID(); ...
嵌入式系统中,由于资源限制,可能无法依赖于完整的libuuid库,因此,开发者可能需要编写自己的UUID生成代码。这通常涉及到以下几个关键步骤: 1. **获取当前时间戳**:使用`gettimeofday()`函数获取当前的时间戳,...
UUID GEN.exe 是一个基于Java编写的UUID生成器工具,主要用于生成这些具有唯一性的128位数字或字符串。在Java中,UUID是通过java.util.UUID类来生成和操作的。 UUID由16个字节组成,通常用16进制表示,分为5个部分...
uuid 生成不重复ID3万个 检测到重复就重试生成,把生成的id好,写入txt文档中
而在Java中,可以使用`java.util.UUID`类的静态方法`randomUUID()`。 使用PB生成UUID的步骤大致如下: 1. 引入PB库:首先,需要在项目中引入相应的PB库,这可能通过添加依赖或import语句完成。 2. 定义数据结构:在...
下面,我们将深入探讨“javaScript动态随即生成UUID”的相关内容,包括UUID的基本概念、生成原理以及三种不同的生成方法。 ### UUID的基本概念 UUID,全称Universally Unique Identifier,即通用唯一识别码,是由...
java 生成8位UUID,解决UUID2太长的问题,欢迎下载。后续代码,陆续放出
通过以上介绍,我们可以看到 Java 中 UUID 的生成方式非常多样,既可以使用内置的 `java.util.UUID` 类,也可以通过自定义类实现更加灵活的 UUID 生成机制。对于特定的应用场景,例如需要基于 MAC 地址和时间戳生成 ...
UUID,全称Universally Unique Identifier,即全局唯一标识符,是一种在分布式系统中用来生成唯一标识的机制。在大数据和云计算环境中,为了确保每个数据实体的唯一性,UUID扮演着至关重要的角色。雪花算法...
通过hibernate的组件生成uuid的代码
- `ramsey/uuid` 库还提供了针对特定平台的优化,例如对于能提供硬件随机数的系统,Version 4的UUID生成速度会更快。 7. **扩展性**: - 库支持自定义生成器(Generator)和解析器(Decoder),允许用户根据需求...
GUID是一个128位长的数字,一般用16进制表示。算法的核心思想是结合机器的网卡、当地时间、一个随即数来生成GUID。从理论上讲,如果一台机器每秒产生10000000个GUID,则可以保证(概率意义上)3240年不重复