python生成和校验uuid

python有一个模块叫做uuid,导入它就可以使用它的四个方法了。注意这四个方法依次是uuid1(),uuid3(),uuid4(),uuid5()

# -*- coding:utf-8 -*-
import uuidprint uuid.uuid1()
#bf1dfacf-67d8-11e8-9a23-408d5c985711
print uuid.uuid3(uuid.NAMESPACE_DNS, 'yuanlin')
#ddb366f5-d4bc-3a20-ac68-e13c0560058f
print uuid.uuid4()
#144d622b-e83a-40ea-8ca1-66af8a86261c
print uuid.uuid5(uuid.NAMESPACE_DNS, 'yuanlin')
#4a47c18d-037a-5df6-9e12-20b643c334d3

乍一看全都是36个字符,那么他们到底有什么不同呢?
uuid1():这个是根据当前的时间戳和MAC地址生成的,最后的12个字符408d5c985711对应的就是MAC地址,因为是MAC地址,那么唯一性应该不用说了。但是生成后暴露了MAC地址这就很不好了。

uuid3():里面的namespace和具体的字符串都是我们指定的,然后呢···应该是通过MD5生成的,这个我们也很少用到,莫名其妙的感觉。

uuid4():这是基于随机数的uuid,既然是随机就有可能真的遇到相同的,但这就像中奖似的,几率超小,因为是随机而且使用还方便,所以使用这个的还是比较多的

# cat /proc/sys/kernel/random/uuid
dddf999b-193e-4015-9463-da3dab1f1a6a
uuid.UUID("dddf999b-193e-4015-9463-da3dab1f1a6a").version
4

uuid5():这个看起来和uuid3()貌似并没有什么不同,写法一样,也是由用户来指定namespace和字符串,不过这里用的散列并不是MD5,而是SHA1.

检查字符串是否是有效的UUID?

def check_uuid4(test_uuid, version=4):try:return uuid.UUID(test_uuid).version == versionexcept ValueError:return False

python生成和校验uuid相关推荐

  1. 长度短点的uuid_Python生成短uuid的方法实例详解

    python的uuid都是32位的,比较长,处理起来效率比较低, 本算法利用62个可打印字符,通过随机生成32位UUID,由于UUID都为十六进制,所以将UUID分成8组,每4个为一组,然后通过模62 ...

  2. Python 标准库 —— uuid(生成唯一 ID)

    有时我们在百度贴吧,在一个网站,保存网页上的一些图片时,图片名有时会是一串很长的数字和字母组成的,但无一例外,图像之间不会出现重名.这个唯一的 id,一般通过 uuid 的方式获得,uuid 根据的是 ...

  3. java将uuid转换成大写,python生成大写32位uuid代码

    我就废话不多说了,还是直接看代码吧,希望对你有帮助! import uuid def getUUID(): return "".join(str(uuid.uuid4()).spl ...

  4. python生成并处理uuid的方法

    python生成并处理uuid的方法 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/yl416306434/article/details/8056 ...

  5. python生成时间戳_python生成13位或16位时间戳以及反向解析时间戳的实例

    我就废话不多说了,直接上代码吧! import datetime import time def get_float_time_stamp(): datetime_now = datetime.dat ...

  6. python生成uuid_咸鱼高赞回答:有什么相见恨晚的Python技巧,附赠python最新教程...

    日常工作几乎离不python.一路走来,他积累了不少有用的技巧和tips,现在就将这些技巧分享给大家.这些技巧将根据其首字母按A-Z的顺序进行展示. Python相关学习资料获取方式:转发文章+关注私 ...

  7. python随机生成k个不重复的随机数_使用Python生成不重复的随机值

    uuid是128位的全局唯一标识符(univeral unique identifier),通常用32位的一个字符串的形式来表现,自带了uuid模块来进行uuid的生成和管理工作. python中的u ...

  8. uuid和python中的uuid.py的使用教程

    全栈工程师开发手册 (作者:栾鹏) 架构系列文章 简介 UUID 是 通用唯一识别码(Universally Unique Identifier)的缩写,是一种软件建构的标准,亦为开放软件基金会组织在 ...

  9. Python生成2022卡塔尔世界杯赛程日历订阅源代码,生成ics文件,带日历提醒

    Python生成2022卡塔尔世界杯赛程日历订阅源代码,不错过每一场比赛,直接运行main.py即可,首先从百度体育抓取最新2022卡塔尔世界杯赛程日历,已完赛部分爬取比分,然后生成两个ics文件,w ...

  10. 使用Python生成独一无二的字符串

    [原文链接]使用Python生成独一无二的字符串 文章目录 一.uuid简介 二.生成随机字符串 一.uuid简介 uuid.uuid1() 基于MAC地址.时间戳.随机数来生成唯一的uuid uui ...

最新文章

  1. android什么时候会产生ANR
  2. mysql linux 下载安装,Mysql 下载 安装 for linux
  3. ubuntu16.04+xfce4截图、终端调出、锁屏的快捷键设置、去掉Alt+鼠标移动屏幕的功能、安装thunar、小键盘问题、设置终端背景
  4. 例说C#深拷贝与浅拷贝
  5. php保存成乱序,php – 调用MySQL存储过程时出现乱序错误
  6. 【转】C#执行rar,zip文件压缩的几种方法及我遇到的坑总结
  7. vsftpd:500 OOPS: vsftpd: refusing to run with writable root inside chroot ()错误的解决方法
  8. 产品经理处理问题“五步法”模板
  9. kmap_atomic的细节以及改进
  10. JAVA关键字及作用
  11. 在python语言中、写文件的操作是_Python语言之详解文件操作
  12. python气象卫星云图解析_【我教你系列】想要实时的地球图像作为桌面?
  13. 准确率(Accuracy)、精确率(Precision)、召回率(Recall)、F值(F-Measure)、AUC、ROC的理解
  14. 万字报告做空特斯拉:马斯克在操盘一场“庞氏骗局”|硅谷封面
  15. 在VC中用GDI+绘制角度可变的颜色渐变效果-.NET教程,VB.Net语言[转]
  16. 高级项目管理师论文写作要点参考
  17. 安装 EndNote X 9.3.3
  18. win7 通过IP地址或主机名给其他电脑发送弹窗信息
  19. java 单链表 添加 插入 删除
  20. Kögra分形字体,字王锋锐、锋艺系列可以加入分形元素

热门文章

  1. linux版本怎么安装qq游戏,QQ for Linux
  2. 5分钟实战QQ机器人教程(保姆级)
  3. 韩顺平Java自学笔记 集合
  4. 数学建模之规划模型(一)
  5. 编码的奥秘txt_编码的奥秘(Charles Petzold著) PDF扫描版[9MB]
  6. 微信从业人员推荐阅读的100本经典图书
  7. Visual Studio添加图片资源到exe
  8. JavaScript学习指南(非常详细)
  9. 统计学附录,F分布和t分布表
  10. 仙人掌之歌——权力的游戏(1)