当前位置: 移动技术网 > IT编程>脚本编程>Python > Python生成短uuid的方法实例详解

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

2018年08月20日  | 移动技术网IT编程  | 我要评论

牙姐微博,上海市政府采购中心,gaovideo

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的方法实例详解,希望对大家有所帮助

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网