`

使用UUID生成32位ID

    博客分类:
  • J2EE
 
阅读更多
UUID(Universally Unique Identifier)全局唯一标识符,是指在一台机器上生成的数字,它保证对在同一时空中的所有机器都是唯一的。按照开放软件基金会(OSF)制定的标准计算,用到了以太网卡地址、纳秒级时间、芯片ID码和许多可能的数字。由以下几部分的组合:当前日期和时间(UUID的第一个部分与时间有关,如果你在生成一个UUID之后,过几秒又生成一个UUID,则第一个部分不同,其余相同),时钟序列,全局唯一的IEEE机器识别号(如果有网卡,从网卡获得,没有网卡以其他方式获得).
GUID是一个128位长的数字,一般用16进制表示。算法的核心思想是结合机器的网卡、当地时间、一个随机数来生成GUID。从理论上讲,如果一台机器每秒产生10000000个GUID,则可以保证(概率意义上)3240年不重复。
UUID是1.5中新增的一个类,在java.util下,用它可以产生一个号称全球唯一的ID。
      /**
* 产生一个32位的GUID
* @return
*/
public static String newGUID()
{
UUID uuid = UUID.randomUUID();
return uuid.toString().replace("-", "");
}


/**
     * 获取32位GUID
     *
     * @return
     */
    public static String getId() {
        try {
            MessageDigest md = MessageDigest.getInstance("MD5");
            UUID uuid = UUID.randomUUID();
            String guidStr = uuid.toString();
            md.update(guidStr.getBytes(), 0, guidStr.length());
            return new BigInteger(1, md.digest()).toString(16);
        } catch (NoSuchAlgorithmException e) {
            return null;
        }
    }
分享到:
评论

相关推荐

    uuid生成16位的,唯一码

    uuid生成,可生成16个字符的唯一码。使用方法,见main函数

    唯一uuidid生成器

    在实际项目中,开发者可能会选择这样的库来代替标准的Java UUID生成,以便更好地满足项目特定的需求,比如在分布式系统中保持全局唯一性,同时提高生成ID的速度。 在使用Vesta-ID-Generator之前,开发者需要了解其...

    java生成8位UUID

    java 生成8位UUID,解决UUID2太长的问题,欢迎下载。后续代码,陆续放出

    uuid.rar_C获得UUID_UUID C_c生成uuid_c语言生成uuid_uuid

    标题“uuid.rar_C获得UUID_UUID C_c生成uuid_c语言生成uuid_uuid”表明这是一个关于使用C语言实现UUID生成的资源包。这个压缩包可能包含了一个C语言编写的程序或库,可以用来在Windows平台上(通过VC6编译器)生成...

    自动生成32位UUID的函数

    直接通过 dbo.[FunGetUUID32](NEWID())即可获取到32位UUID,非常简单方便。

    uuid 生成不重复ID3万个

    uuid 生成不重复ID3万个 检测到重复就重试生成,把生成的id好,写入txt文档中

    java生成唯一id(uuid)(不依赖jdk5,自己实现的)

    在Java编程中,生成唯一的...在实际开发中,如果你的项目可以使用JDK 5或更高版本,建议直接使用`java.util.UUID`类,因为它提供了高效且标准的UUID生成方式。但如果受限于特定环境,上述自定义实现可以作为一个参考。

    oracle数据库id为uuid类型时自动生成id

    oracle数据库id为uuid类型时自动生成id的工具类,不再依赖sequence自增长

    PB生成UUID.zip

    UUID是一个128位的数字,通常表示为32个十六进制数字,用于唯一标识网络中的对象。它在分布式系统、数据库、软件开发等领域广泛使用,确保了在全球范围内不会重复。 PB,即Protocol Buffers,是Google推出的一种...

    JAVA UUID 生成全球唯一ID

    GUID是一个128位长的数字,一般用16进制表示。算法的核心思想是结合机器的网卡、当地时间、一个随即数来生成GUID。从理论上讲,如果一台机器每秒产生10000000个GUID,则可以保证(概率意义上)3240年不重复

    uuid 生成器 UUID_GEN.exe

    UUID GEN.exe 是一个基于Java编写的UUID生成器工具,主要用于生成这些具有唯一性的128位数字或字符串。在Java中,UUID是通过java.util.UUID类来生成和操作的。 UUID由16个字节组成,通常用16进制表示,分为5个部分...

    20位不重复id生成器

    生成20位不重复id,生成6位验证码,生成uuid等等帮助方法

    postgre sql UUID

    截取json将之装换成uuid,uuid作为唯一标识符,可以做排重处理,删除重复值。

    利用雪花算法生成uuid

    - 最后是序列号,每次生成ID时会递增,确保在同一毫秒内的唯一性。 雪花算法的优点在于: - **全局唯一性**:基于时间戳、工作节点ID和序列号的组合,几乎不可能生成重复的ID。 - **顺序性**:由于时间戳在ID中占有...

    自动生成主键uuid.zip

    总结来说,"自动生成主键uuid.zip"中的内容可能涉及到如何在Java中使用UUID生成32位的无序和有序ID,这对于数据库主键或其他需要全局唯一标识的场景非常有用。通过理解UUID的生成机制和结合其他数据,开发者可以定制...

    UUID生成器

    在压缩包内的"exelib"可能是一个包含库文件的目录,这些库文件可能包含了UUID生成器运行所需的一些依赖组件,或者是开发者为了实现某些功能而引入的第三方库。对于用户来说,这些库文件通常是透明的,但它们对于程序...

    通过PC的CPU id生成唯一性的UUID

    C++代码,VS工程,在windows x86...通过获取PC的CPU id字符串,以这个字符串作为种子,生成唯一性的UUID。这个UUID可以用作PC的唯一性标识,或者身份认证的标识。UUID不同CPU不会重复,但相同CPU下每次的UUID值都一样。

    自动生成ID(32位)所用jar

    另外,还有一些其他的库,如UUID(Universally Unique Identifier)是Java标准库的一部分,可以生成128位的全局唯一ID,但这通常过于冗长,不适合32位的需求。 总的来说,生成32位的唯一ID可以通过多种方式实现,...

    Javascript生成UUID 三种方法

    本文将详细介绍Math.uuid.js脚本中的三种UUID生成方法:`Math.uuid()`, `Math.uuidFast()`, 和 `Math.uuidCompact()`。 #### 二、UUID的概念与标准 UUID是一种128位的数字标识符,通常表示为32个十六进制数字,以...

    Android生成唯一标识符UUID(完全替代IMEI)

    生成的UUID字符串通常形如“550e8400-e29b-41d4-a716-446655440000”,由五组32位的十六进制数字组成,中间用短横线分隔。 然而,UUID作为IMEI的替代存在一些差异。IMEI是硬件级别的标识,与手机硬件绑定,即使用户...

Global site tag (gtag.js) - Google Analytics