如何生成64位的uuid

恬~酱 2016-06-23 03:24:08
需要生成一个64位的id作为主键,用uuid生成,但是在网上查了一下,貌似uuid只能生成32位的啊,如何生成64位的uuid啊 ,求大神解答!
...全文
2012 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
家里敷泥呀 2016-06-27
  • 打赏
  • 举报
回复
引用 8 楼 qq_15045645 的回复:
[quote=引用 6 楼 Q80470101 的回复:] 建议使用的算法生成的uuid是有序的,这样对于后期的存储和使用会更高效。
uuid只是一个用来做主键的序列,不需要有序,但是怎么生成64位的uuid ,你知道怎么来修改吗[/quote] 是的,uuid是随机、无序且唯一的id,之所以建议“有序”是出于数据库性能考虑,只是建议,君自定夺。
solar 2016-06-24
  • 打赏
  • 举报
回复
前面用0补足不就可以了吗?
zhangweihan01 2016-06-23
  • 打赏
  • 举报
回复
小白问一下:UUID应该是一个重复几率很低的数,一个UUID都可以认为是不会重复的,2个按顺序连接到一起更不会重复吧,做表的主键应该足够了吧
wangjindong666888 2016-06-23
  • 打赏
  • 举报
回复
14位系统时间+50位UUid(自取),这样无论如何也不会重复吧
恬~酱 2016-06-23
  • 打赏
  • 举报
回复
引用 6 楼 Q80470101 的回复:
建议使用的算法生成的uuid是有序的,这样对于后期的存储和使用会更高效。
uuid只是一个用来做主键的序列,不需要有序,但是怎么生成64位的uuid ,你知道怎么来修改吗
恬~酱 2016-06-23
  • 打赏
  • 举报
回复
引用 5 楼 securitit 的回复:
自己重写,把原本128位的UUID扩充一下, 将128拆分成256位,不就得到64位的UUID了,还不会重复,因为拆分也是依据原有的。
拿这个怎么实现扩充呢,uuid是java中的一个类,你是说我来修改这个类里面的代码吗?
家里敷泥呀 2016-06-23
  • 打赏
  • 举报
回复
建议使用的算法生成的uuid是有序的,这样对于后期的存储和使用会更高效。
securitit 2016-06-23
  • 打赏
  • 举报
回复
自己重写,把原本128位的UUID扩充一下, 将128拆分成256位,不就得到64位的UUID了,还不会重复,因为拆分也是依据原有的。
恬~酱 2016-06-23
  • 打赏
  • 举报
回复
我要的不只是一个64位的随机数,uuid生成的64位的随机数能确保在一定时间内的不重复,二这种单纯的生成随机数的方式是不能保证该随机数的唯一性的,是没有办法作为数据库内表的主键的
  • 打赏
  • 举报
回复
String u=""; String s="qwertyuiopasdfghjklzxcvbnm123456789"; for (int i = 0; i <64; i++) { u=u+s.charAt(((int)(Math.random()*35))); } System.out.println(u); 那这样的是你想要的吗?
恬~酱 2016-06-23
  • 打赏
  • 举报
回复
这样子的排列组合跟直接的64位的差别有多少,这样是不可以的
  • 打赏
  • 举报
回复 1
你把两个uuid连接一下,不就是64位了嘛。Stirng拼接你应该会。

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧