Peter Lawrey..

29

如果您不需要它是唯一的,您可以使用任何你喜欢的长度.

例如,您可以这样做.

Random rand = new Random();

char[] chars = new char[16];

for(int i=0;i

chars[i] = (char) rand.nextInt(65536);

if (!Character.isValidCodePoint(chars[i]))

i--;

}

String s = new String(chars);

这将给你几乎相同程度的随机性,但将使用\u0000和之间的每个可能的字符\ufffd

如果您需要可打印的ASCII字符,可以根据需要缩短,但唯一性的可能性会显着下降.可以做的是使用底座36而不是底座16

UUID uuid = UUID.randomUUID();

String s = Long.toString(uuid.getMostSignificantBits(), 36) + '-' + Long.toString(uuid.getLeastSignificantBits(), 36);

这将平均26个字符,最多27个字符.

您可以使用base64编码并将其减少为22个字符.

如果你使用base94你可以得到20个字符.

如果你使用\ u0000到\ ufffd的整个有效字符范围,你可以将它减少到只有9个字符或17个字节.

如果您不关心字符串,则可以使用16位,8位字节.

长度短点的uuid_如何减少使用randomUUID()生成的UUID的长度相关推荐

  1. 长度短点的uuid_更短且不失高效的UUID生成算法

    Java原生的UUID长度为36位,嫌长 这里自己实现了一套自己的算法,来生成较短的UUID 由雪花算法启发而来, 大致原理是利用时间戳+随机值做值,然后转换成62进制(当然这个进制数你也可以搞成更多 ...

  2. 长度短点的uuid_如何压缩UUID长度?

    二. 代码编写 private static String compressUUID(UUID uuid) { StringBuilder resultBuilder = new StringBuil ...

  3. 长度短点的uuid_UUID不失精度,长度改进

    在使用到uuid的时候,往往头疼于它的长度(如1bfe50d8-544e-4e8a-95b8-199ceff15268),于是乎就有了改写uuid的各种方法 1.去除"-"的uui ...

  4. 长度短点的uuid_Python生成短uuid的方法实例详解

    python的uuid都是32位的,比较长,处理起来效率比较低, 本算法利用62个可打印字符,通过随机生成32位UUID,由于UUID都为十六进制,所以将UUID分成8组,每4个为一组,然后通过模62 ...

  5. uuid设置长度_转发 微博 Qzone 微信 分布式系统ID的生成方法之UUID、数据库、算法、Redis、Leaf方案...

    点击上方「蓝字」关注我们 前言 一般单机或者单数据库的项目可能规模比较小,适应的场景也比较有限,平台的访问量和业务量都较小,业务ID的生成方式比较原始但是够用,它并没有给这样的系统带来问题和瓶颈,所以 ...

  6. 转:短网址(short URL)的实现_如何生成短链接URL?

    什么是短链接 ? 就是把普通网址,转换成比较短的网址.比如:这种http://t.cn/ E70Piib,在微博这些限制字数的应用里.好处不言而喻:短.字符少.美观.便于发布.传播. 我们应该都能想到 ...

  7. java sessionid长度_php中session_id()函数详细介绍,会话id生成过程及session id长度

    php中session_id()函数原型及说明session_id()函数说明:stringsession_id([string$id])session_id() 可以用来获取/设置 当前会话 ID. ...

  8. 增大表名最大长度_风电叶片材料的发展变迁史,及风力发电机叶片长度发展历程...

    2020年,能源领域最火的行业是风电,由于中国出台相关文件,截止12月31日为止,之后装机并网的风电机组将不能够获得电价补贴. 这个政策直接推动了国内风电市场的短期井喷.当然宏观因素背景是中国对于环保 ...

  9. 设计一个长方形类。成员变量包括:长度和宽度,成员函数除包括计算周长和计算面积外, 还包括用set方法来设置长方形的长度和宽度,以及用get的方法来获得长方形的长度和宽度 最后,编写一个测试程序来测试所

    本文为博主原创文章,未经博主允许不得转载. 版权为陈博超所有,第一次于2020年11月22日发表于BLOG上 本BLOG上原创文章未经本人许可,不得用于商业用途.转载请经允许后注明出处,否则保留追究法 ...

最新文章

  1. Docker(二):Docker 容器使用
  2. Java学习笔记32
  3. 液晶字体数字一到九_睡前必听3分钟系列十一:光传输设备和同步数字体系的特点...
  4. 在Ubuntu上为Android系统编写Linux内核驱动程序
  5. Python之方法调用
  6. 【转】简述TCP的三次握手过程
  7. 翻译 github上How to be a good programmer
  8. tracert路由检测命令使用方法
  9. css-背景图片和渐变
  10. linux删除php文件权限不够,linux - 用php的exec()删除目录文件提示权限不够
  11. @Value取值为NULL的解决方案
  12. 第15组构建之法团队心得
  13. java导入功能超时问题
  14. c语言串逐位和 思路,蓝桥杯c语言练习题答案.doc
  15. 前端安全 XSS跨站脚本攻击-CSRF跨站请求伪造攻击
  16. 台式机计算机怎么分割,台式机如何设置分屏
  17. mysql获取某个最大的值的一行数据_某一字段分组取最大(小)值所在行的数据
  18. 普歌-码上鸿鹄团队:在Nuxt(vue)渲染模板中使用mock.js随机生成数据
  19. linux上命令调用smplayer,Linux播放器——RedHat下MPlayer和SMPlayer的安装
  20. 本机号码校验不只是免输密码、免输短信验证码

热门文章

  1. 各大厂图鉴:阿里:加班多,华为:狼性;拼多多:暴发户
  2. kubernetes 部署_1
  3. Electron 打开保存文件对话框
  4. 程序员:在一个公司待了5年,环境舒适,是继续温水煮青蛙还是跳槽?
  5. Linux如何赋予普通用户权限
  6. python中小球落地问题_Python解决抛小球问题 求小球下落经历的距离之和示例
  7. 帮我写一个复杂的爱心树html代码
  8. 安卓子系统(WSA)2301.40000.4.0发布
  9. 千兆网卡芯片对比:后起之秀和江湖前辈,谁更优秀?
  10. mac idea 使用技巧(记录)