获取不同长度的UUID

来源:互联网 发布:centos ftp 根目录 编辑:程序博客网 时间:2024/05/22 14:18

在公司,有时候让处理一些命名规则时,要使用一个唯一标识,还是十六进制的,需要多少位看领导心情.

怎么做呢?你别说用随机产生组合的方法啊?虽然那个可行,但是我觉得难受.知道有UUID这个玩意儿之后,那就好办了.

UUID含义是通用唯一识别码 (Universally Unique Identifier),这 是一个软件建构的标准,也是被开源软件基金会 (Open Software Foundation, OSF) 的组织应用在分布式计算环境 (Distributed Computing Environment, DCE) 领域的重要部分。

其实用UUID获取指定长度的唯一标识码还是比较方便的.所以,就复制粘贴写了个工具,获取4/8/12/16/20/24/36位的UUID值.就是生成一个UUID,然后截取作为返回值就ok了.
各位大神,我这个看着是比较low,见笑了.

package com.crcm.common.utils;import java.util.UUID;/**产生的UUID有这么长,通过截取和替换"-"后得到不同长度的UUID * 056085ce-8e46-492a-bcec-9a4d3690ce83 * 8 + 4 + 4 + 4 + 12 * @author 王俊 * @since 2017.07.21 * */public class UUIDUtil {    public static void main(String[] args) {        System.out.println(get4UUID());        System.out.println(get8UUID());        System.out.println(get12UUID());        System.out.println(get16UUID());        System.out.println(get20UUID());        System.out.println(get24UUID());        System.out.println(get32UUID());    }    /**     * 获得4个长度的十六进制的UUID     * @return UUID     */    public static String get4UUID(){        UUID id=UUID.randomUUID();        String[] idd=id.toString().split("-");        return idd[1];        }    /**     * 获得8个长度的十六进制的UUID     * @return UUID     */    public static String get8UUID(){        UUID id=UUID.randomUUID();        String[] idd=id.toString().split("-");        return idd[0];    }    /**     * 获得12个长度的十六进制的UUID     * @return UUID     */    public static String get12UUID(){        UUID id=UUID.randomUUID();        String[] idd=id.toString().split("-");        return idd[0]+idd[1];    }    /**     * 获得16个长度的十六进制的UUID     * @return UUID     */    public static String get16UUID(){        UUID id=UUID.randomUUID();        String[] idd=id.toString().split("-");        return idd[0]+idd[1]+idd[2];    }    /**     * 获得20个长度的十六进制的UUID     * @return UUID     */    public static String get20UUID(){        UUID id=UUID.randomUUID();        String[] idd=id.toString().split("-");        return idd[0]+idd[1]+idd[2]+idd[3];    }    /**     * 获得24个长度的十六进制的UUID     * @return UUID     */    public static String get24UUID(){        UUID id=UUID.randomUUID();        String[] idd=id.toString().split("-");        return idd[0]+idd[1]+idd[4];    }    /**     * 获得32个长度的十六进制的UUID     * @return UUID     */    public static String get32UUID(){        UUID id=UUID.randomUUID();        String[] idd=id.toString().split("-");        return idd[0]+idd[1]+idd[2]+idd[3]+idd[4];    }}

有什么好的思路,欢迎交流.微信798961661

原创粉丝点击