Python生成短uuid的方法实例详解


Posted in Python onMay 29, 2018

python的uuid都是32位的,比较长,处理起来效率比较低,

本算法利用62个可打印字符,通过随机生成32位UUID,由于UUID都为十六进制,所以将UUID分成8组,每4个为一组,然后通过模62操作,结果作为索引取出字符,

最后生成的Uuid,只有8位,代码如下:

 uuid4,可以换成uuid1

from uuid import uuid4
uuidChars = ("a", "b", "c", "d", "e", "f",
       "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s",
       "t", "u", "v", "w", "x", "y", "z", "0", "1", "2", "3", "4", "5",
       "6", "7", "8", "9", "A", "B", "C", "D", "E", "F", "G", "H", "I",
       "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V",
       "W", "X", "Y", "Z")
def short_uuid():
  uuid = str(uuid4()).replace('-', '')
  result = ''
  for i in range(0,8):
    sub = uuid[i * 4: i * 4 + 4]
    x = int(sub,16)
    result += uuidChars[x % 0x3E]
  return result
print(short_uuid())
print(short_uuid())
print(short_uuid())

 运行结果如下:

6vT7sxFK
F802Fj8C
s7E3qzmD

总结

以上所述是小编给大家介绍的Python生成短uuid的方法实例详解,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Python 相关文章推荐
Python中实现对Timestamp和Datetime及UTC时间之间的转换
Apr 08 Python
用Python写一个无界面的2048小游戏
May 24 Python
python 获取键盘输入,同时有超时的功能示例
Nov 13 Python
Python3 安装PyQt5及exe打包图文教程
Jan 08 Python
python使用Plotly绘图工具绘制气泡图
Apr 01 Python
Python类中方法getitem和getattr详解
Aug 30 Python
Django集成celery发送异步邮件实例
Dec 17 Python
Python try except异常捕获机制原理解析
Apr 18 Python
如何利用python web框架做文件流下载的实现示例
Jun 02 Python
Python TestSuite生成测试报告过程解析
Jul 23 Python
matplotlib bar()实现多组数据并列柱状图通用简便创建方法
Feb 24 Python
python计算列表元素与乘积详情
Aug 05 Python
Python(TensorFlow框架)实现手写数字识别系统的方法
May 29 #Python
Python实现的多进程和多线程功能示例
May 29 #Python
Python实现的redis分布式锁功能示例
May 29 #Python
Python计算一个给定时间点前一个月和后一个月第一天的方法
May 29 #Python
PyTorch CNN实战之MNIST手写数字识别示例
May 29 #Python
Python根据指定日期计算后n天,前n天是哪一天的方法
May 29 #Python
python 将md5转为16字节的方法
May 29 #Python
You might like
PHP+Mysql实现多关键字与多字段生成SQL语句的函数
2014/11/05 PHP
WordPress网站性能优化指南
2015/11/18 PHP
thinkphp3.2实现上传图片的控制器方法
2016/04/28 PHP
PHP使用栈解决约瑟夫环问题算法示例
2017/08/27 PHP
共享自己写一个框架DreamScript
2007/01/20 Javascript
自己做的模拟模态对话框实现代码
2012/05/23 Javascript
JavaScript实现自己的DOM选择器原理及代码
2013/03/04 Javascript
使用变量动态设置js的属性名
2014/10/19 Javascript
JavaScript中的toUTCString()方法使用详解
2015/06/12 Javascript
jquery实现TAB选项卡鼠标经过带延迟效果的方法
2015/07/27 Javascript
JQuery导航菜单选择特效
2016/04/11 Javascript
Vue之Watcher源码解析(2)
2017/07/19 Javascript
JavaScript 自定义事件之我见
2017/09/25 Javascript
nodejs基于mssql模块连接sqlserver数据库的简单封装操作示例
2018/01/05 NodeJs
vue滚动插件better-scroll使用详解
2019/10/18 Javascript
vue跳转页面的几种方法(推荐)
2020/03/26 Javascript
javascript前端实现多视频上传
2020/12/13 Javascript
python下如何让web元素的生成更简单的分析
2008/07/17 Python
python使用WMI检测windows系统信息、硬盘信息、网卡信息的方法
2015/05/15 Python
浅谈Python实现Apriori算法介绍
2017/12/20 Python
Python subprocess模块功能与常见用法实例详解
2018/06/28 Python
Django 路由控制的实现代码
2018/11/08 Python
python2和python3的输入和输出区别介绍
2018/11/20 Python
Python实现京东秒杀功能代码
2019/05/16 Python
django框架两个使用模板实例
2019/12/11 Python
三步解决python PermissionError: [WinError 5]拒绝访问的情况
2020/04/22 Python
CSS3 实现倒计时效果
2020/11/25 HTML / CSS
King Apparel官网:英国街头服饰品牌
2019/09/05 全球购物
什么是命名空间(NameSpace)
2015/11/24 面试题
5.1手机促销活动
2014/01/17 职场文书
学习2014年全国两会心得体会
2014/03/12 职场文书
交通安全月活动总结
2015/05/08 职场文书
预防职务犯罪警示教育心得体会
2016/01/15 职场文书
详解MySQL集群搭建
2021/05/26 MySQL
Python anaconda安装库命令详解
2021/10/16 Python