在JAVA中生成UUID字符串的有效方法(不带破折号的UUID.randomUUID()。toString())
最终基于UUID.java实现编写了自己的东西。请注意,我 ,而是以我能想到的最有效的方式 随机的32字节十六进制字符串。
实作import java.security.SecureRandom;import java.util.UUID;public class RandomUtil { // Maxim: copied from UUID implementation :) private static volatile SecureRandom numberGenerator = null; private static final long MSB = 0x8000000000000000L; public static String unique() {SecureRandom ng = numberGenerator;if (ng == null) { numberGenerator = ng = new SecureRandom();}return Long.toHexString(MSB | ng.nextLong()) + Long.toHexString(MSB | ng.nextLong()); } }用法
RandomUtil.unique()测验
我已经测试过一些输入,以确保其正常工作:
public static void main(String[] args) { System.out.println(UUID.randomUUID().toString()); System.out.println(RandomUtil.unique()); System.out.println(); System.out.println(Long.toHexString(0x8000000000000000L |21)); System.out.println(Long.toBinaryString(0x8000000000000000L |21)); System.out.println(Long.toHexString(Long.MAX_VALUE + 1));}解决方法
我想要一个高效的实用程序来生成唯一的字节序列。UUID是一个很好的候选人,但是会UUID.randomUUID().toString()生成类似的东西44e128a5-ac7a-4c9a-be4c-224b6bf81b20,但是我更喜欢无破折号的字符串。
我正在寻找一种仅从字母数字字符(无破折号或任何其他特殊符号)生成随机字符串的有效方法。
相关文章:
1. PHP能实现百度网盘的自动化么?2. android - 使用vue.js进行原生开发如何进行Class绑定3. 网页爬虫 - python requests爬虫,如何post payload4. node.js - 微信的自动回复问题5. node.js - vue服务端渲染如何部署到线上6. css3 - 请问一下在移动端CSS布局布局中通常需要用到哪些元素,属性?7. javascript - 百度图片切换图片时url会改变,但无刷新,没用hash,IE8也支持,请问是用了什么技术?8. MySQL 水平拆分之后,自动增长的ID有什么好的解决办法?9. angular.js - 各位大神们,你们混合开发,web方式中更推荐用什么框架呀? react?vue?angular?谢谢~10. mysql如何添加索引的时候指定索引方式
