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之wxPython应用实例
Sep 28 Python
Python中查看文件名和文件路径
Mar 31 Python
Python实现Smtplib发送带有各种附件的邮件实例
Jun 05 Python
python中Matplotlib实现绘制3D图的示例代码
Sep 04 Python
浅析python协程相关概念
Jan 20 Python
python基础教程项目五之虚拟茶话会
Apr 02 Python
python unittest实现api自动化测试
Apr 04 Python
python函数的作用域及关键字详解
Aug 20 Python
Python GUI库PyQt5图形和特效样式QSS介绍
Feb 25 Python
Python如何存储数据到json文件
Mar 09 Python
Python动态导入模块:__import__、importlib、动态导入的使用场景实例分析
Mar 30 Python
详解python的异常捕获
Mar 03 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自动获取目录下的模板的代码
2010/08/08 PHP
PHP版国家代码、缩写查询函数代码
2011/08/14 PHP
PHP实现清除MySQL死连接的方法
2016/07/23 PHP
DWZ+ThinkPHP开发时遇到的问题分析
2016/12/12 PHP
Laravel 微信小程序后端搭建步骤详解
2019/11/26 PHP
xheditor与validate插件冲突的解决方案
2010/04/15 Javascript
js猜数字小游戏的简单实现代码
2013/07/02 Javascript
jquery跨域请求示例分享(jquery发送ajax请求)
2014/03/25 Javascript
Node.js实现批量去除BOM文件头
2014/12/20 Javascript
js实现iGoogleDivDrag模块拖动层拖动特效的方法
2015/03/04 Javascript
jquery实现图片上传之前预览的方法
2015/07/11 Javascript
js 弹出对话框(遮罩)透明,可拖动的简单实例
2016/07/11 Javascript
JS for...in 遍历语句用法实例分析
2016/08/24 Javascript
VUE 使用中踩过的坑
2018/02/08 Javascript
vue axios post发送复杂对象问题
2019/06/04 Javascript
vue使用svg文件补充-svg放大缩小操作(使用d3.js)
2020/09/22 Javascript
Python深度优先算法生成迷宫
2018/01/22 Python
Python使用Flask-SQLAlchemy连接数据库操作示例
2018/08/31 Python
pandas分别写入excel的不同sheet方法
2018/12/11 Python
python实现可变变量名方法详解
2019/07/01 Python
python删除列表元素的三种方法(remove,pop,del)
2019/07/22 Python
Series和DataFrame使用简单入门
2019/11/13 Python
基于Python+QT的gui程序开发实现
2020/07/03 Python
html5指南-3.如何实现html元素拖拽功能
2013/01/07 HTML / CSS
详解Html5页面实现下载文件(apk、txt等)的三种方式
2018/10/22 HTML / CSS
金牌葡萄酒俱乐部:Gold Medal Wine Club
2017/11/02 全球购物
德国苹果商店:MacTrade
2020/05/18 全球购物
C#中有没有运算符重载?能否使用指针?
2014/05/05 面试题
天鹅的故事教学反思
2014/02/04 职场文书
经典婚礼主持词
2014/03/13 职场文书
工商企业管理应届生求职信
2014/05/04 职场文书
上班迟到检讨书300字
2014/10/18 职场文书
如何写好活动总结
2019/06/21 职场文书
导游词之江南园林狮子林
2019/09/16 职场文书
Golang 实现WebSockets
2022/04/24 Golang
MySQL使用IF语句及用case语句对条件并结果进行判断 
2022/09/23 MySQL