欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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

程序员文章站 2023-12-03 09:40:22
python的uuid都是32位的,比较长,处理起来效率比较低, 本算法利用62个可打印字符,通过随机生成32位uuid,由于uuid都为十六进制,所以将uuid分成8组...

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