我想要一个高效的实用程序来生成唯一的字节序列。 UUID 是一个很好的候选者,但 UUID.randomUUID().toString()
生成类似 44e128a5-ac7a-4c9a-be4c-224b6bf81b20
的东西,这很好,但我更喜欢无破折号的字符串。
我正在寻找一种仅从字母数字字符(没有破折号或任何其他特殊符号)生成随机字符串的有效方法。
原文由 Maxim Veksler 发布,翻译遵循 CC BY-SA 4.0 许可协议
我想要一个高效的实用程序来生成唯一的字节序列。 UUID 是一个很好的候选者,但 UUID.randomUUID().toString()
生成类似 44e128a5-ac7a-4c9a-be4c-224b6bf81b20
的东西,这很好,但我更喜欢无破折号的字符串。
我正在寻找一种仅从字母数字字符(没有破折号或任何其他特殊符号)生成随机字符串的有效方法。
原文由 Maxim Veksler 发布,翻译遵循 CC BY-SA 4.0 许可协议
这是这样做的:
public static void main(String[] args) {
final String uuid = UUID.randomUUID().toString().replace("-", "");
System.out.println("uuid = " + uuid);
}
原文由 Steve McLeod 发布,翻译遵循 CC BY-SA 3.0 许可协议
15 回答8.4k 阅读
8 回答6.2k 阅读
1 回答4k 阅读✓ 已解决
3 回答6k 阅读
3 回答2.2k 阅读✓ 已解决
2 回答3.1k 阅读
2 回答3.8k 阅读
最终基于 UUID.java 实现编写了我自己的东西。请注意,我 没有生成 UUID ,而只是以我能想到的最有效方式生成一个随机的 32 字节十六进制字符串。
执行
用法
测试
我测试过的一些输入以确保其正常工作: