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

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

第一种:采用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); }
上一篇:Python爬虫实战(二)


下一篇:JavaScript读书笔记(4)-变量、作用域和内存问题