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

yipeiwu_com6年前Python基础

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实现将文件夹内的每张图片批量分割成多张

python实现将文件夹内的每张图片批量分割成多张

一、说在前面        需求:有一张长为960,宽为96的图片,需要将其分割成10张96*96的图片并存放在另外一个文件夹下,通过手工分割耗时...

Python加pyGame实现的简单拼图游戏实例

本文实例讲述了Python加pyGame实现的简单拼图游戏。分享给大家供大家参考。具体实现方法如下: import pygame, sys, random from pygame.l...

Python实现的企业粉丝抽奖功能示例

Python实现的企业粉丝抽奖功能示例

本文实例讲述了Python实现的企业粉丝抽奖功能。分享给大家供大家参考,具体如下: 一 代码 def scode9(schoice): default_dir = r"lotte...

python使用递归的方式建立二叉树

python使用递归的方式建立二叉树

树和图的数据结构,就很有意思啦。 # coding = utf-8 class BinaryTree: def __init__(self, root_obj)...

Python 合并多个TXT文件并统计词频的实现

Python 合并多个TXT文件并统计词频的实现

需求是:针对三篇英文文章进行分析,计算出现次数最多的 10 个单词 逻辑很清晰简单,不算难, 使用 python 读取多个 txt 文件,将文件的内容写入新的 txt 中,然后对新 tx...