Java中生成一个唯一值的方式

来源:互联网 发布:sql语句查询例子 编辑:程序博客网 时间:2024/06/05 19:32

现总结几种生成一个唯一值的方式

第一种:采用nanoTime()

// 理论上存在重复的可能,可以在后面再加上一个随机字符串Random r = new Random();    for (int i = 0; i < 100; i++) {        String n = System.nanoTime() + "" + r.nextInt();        System.out.println(n);    }

第二种:采用UUID类

// 第二种:采用UUID类for (int i = 0; i < 100; i++) {        String s = UUID.randomUUID().toString();        System.err.println(s);}

第三种:采用数据指纹

for (int i = 0; i < 100; i++) {        String s = UUID.randomUUID().toString();        // 先进行MD5加密        MessageDigest md = MessageDigest.getInstance("md5");        // 对数据进行加密        byte[] bs = md.digest(s.getBytes());        /*         * BASE64Encoder所在包的引入方式(Eclipse): 在Java Build Path下的         * Libraries中拉开JRE,然后点击 第一个选项Access rules(双击),然后点击add,在上面的框中选择         * Accessible,下面输入**,保存即可引入相应的包。         *          * BASE64Encoder底层实现原理:三字节变四字节         */        // 采用数据指纹进一步加密,拿到数据指纹        BASE64Encoder base = new BASE64Encoder();        // 进一步加密        String str = base.encode(bs);    }
0 0
原创粉丝点击