我想要一个有效的实用程序来生成独特的字节序列。UUID是一个很好的候选者,但是UUID.randomUUID().toString()
会生成像44e128a5-ac7a-4c9a-be4c-224b6bf81b20
这样的东西,这很好,但我更喜欢没有破折号的字符串。
我正在寻找一种有效的方法来生成一个随机字符串,只从字母数字字符(没有破折号或任何其他特殊符号)。
发布于 2010-09-27 22:12:24
这就完成了:
public static void main(String[] args) {
final String uuid = UUID.randomUUID().toString().replace("-", "");
System.out.println("uuid = " + uuid);
}
发布于 2010-09-27 22:28:57
破折号不需要从HTTP请求中删除,正如您在此线程的URL中所看到的那样。但是,如果你想准备格式良好的网址而不依赖于数据,你应该使用URLEncoder.encode(字符串数据,字符串编码),而不是改变数据的标准格式。对于UUID字符串表示,破折号是正常的。
发布于 2010-09-28 06:00:09
我使用JUG (Java UUID Generator)来生成唯一的ID,它在JVM中是唯一的。非常好用。下面是供您参考的代码:
private static final SecureRandom secureRandom = new SecureRandom();
private static final UUIDGenerator generator = UUIDGenerator.getInstance();
public synchronized static String generateUniqueId() {
UUID uuid = generator.generateRandomBasedUUID(secureRandom);
return uuid.toString().replaceAll("-", "").toUpperCase();
}
可以从以下位置下载该库:https://github.com/cowtowncoder/java-uuid-generator
https://stackoverflow.com/questions/3804591
复制相似问题