python uuid生成唯一id或str的最简单案例

介绍:

UUID是128位的全局唯一标识符,通常由32字节的字符串表示。

使用:

import uuid
print uuid.uuid1()
14bfe806-f1c7-11e6-83b5-0680f3c45093

uuid1()——基于MAC地址、当前时间戳、随机数生成。

import uuid
print uuid.uuid3(uuid.NAMESPACE_DNS, 'test')
45a113ac-c7f2-30b0-90a5-a399ab912716

uuid3()——基于名字的MD5散列值。

import uuid
print uuid.uuid4()
8a602450-b27b-4d47-851d-3158da061153

uuid4()——基于随机数,有一定的重复概率。

import uuid
print uuid.uuid5(uuid.NAMESPACE_DNS, 'test')
4be0643f-1d98-573b-97cd-ca98a65347dd

uuid5()——基于名字的SHA-1散列值。与uuid3用法相同

补充:

没有uuid2函数

扩展:Python使用haslib.md5生成唯一ID

在hashlib库的hash算法中,提供了很多加密算法,有 sha1()、sha224()、sha256()、sha384()、sha512()、blake2b()和 blake2s()、md5(),这些方法都通过统一接口返回一个对象,例如,使用sha256()可以创建一个SHA-256的哈希对象。

import hashlib
md = haslib.md5(salt) # bytes
md.update('') # encode
re = md.hexdigest()
print(re)

以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们。如有错误或未考虑完全的地方,望不吝赐教。

时间: 2021-01-13

Python 生成短8位唯一id实战教程

测试环境: Win10 Python 3.5.4 实现思路 利用62个可打印字符,通过随机生成32位UUID,由于UUID都为十六进制,所以将UUID分成8组,每4个为一组,然后通过模62(字符0-9,a-z,A-Z总数量62个字符)操作,结果作为索引取出字符,这样重复率大大降低,实践测试,运行20000000次,仅出现2个重复id(仅测试过一次). 当然,这样还达不到唯一id,因为还是有重复的.解决方法呢,可以考虑结合数据库.或者其它存储来实现,以结合数据库为例,我们可以新建一张数据库表,并给

Python通用唯一标识符uuid模块使用案例

1. 背景知识: UUID: 通用唯一标识符 ( Universally Unique Identifier ), 对于所有的UUID它可以保证在空间和时间上的唯一性. 它是通过MAC地址, 时间戳, 命名空间, 随机数, 伪随机数来保证生成ID的唯一性, 有着固定的大小( 128 bit ). 它的唯一性和一致性特点使得可以无需注册过程就能够产生一个新的UUID. UUID可以被用作多种用途, 既可以用来短时间内标记一个对象, 也可以可靠的辨别网络中的持久性对象. 为什么要使用UUID? 很多

Python用UUID库生成唯一ID的方法示例

UUID介绍 UUID是128位的全局唯一标识符,通常由32字节的字符串表示.它可以保证时间和空间的唯一性,也称为GUID,全称为:UUID -- Universally Unique IDentifier,Python 中叫 UUID. 它通过MAC地址.时间戳.命名空间.随机数.伪随机数来保证生成ID的唯一性. UUID主要有五个算法,也就是五种方法来实现. uuid1()--基于时间戳.由MAC地址.当前时间戳.随机数生成.可以保证全球范围内的唯一性,但MAC的使用同时带来安全性问题,局域

Python使用uuid库生成唯一标识ID

uuid是128位的全局唯一标识符(univeral unique identifier),通常用32位的一个字符串的形式来表现.有时也称guid(global unique identifier).python中自带了uuid模块来进行uuid的生成和管理工作. python中的uuid模块基于信息如MAC地址.时间戳.命名空间.随机数.伪随机数来uuid.具体方法有如下几个: uuid.uuid1() 基于MAC地址,时间戳,随机数来生成唯一的uuid,可以保证全球范围内的唯一性. uuid

python 根据时间来生成唯一的字符串方法

我们很多时候,特别是在生成任务的时候,都需要一个唯一标识字符串来标识这个任务,比较常用的有生成uuid或者通过时间来生成.uuid的话可以直接通过uuid模块来生成.如果是时间的话,可以这么写: def tid_maker(): return '{0:%Y%m%d%H%M%S%f}'.format(datetime.datetime.now()) 这里的时间精确到了微妙,一般来说不会重复,如果想更安全点,可以在后面多加几个随机字符,例如: def tid_maker(): return '{0:

php生成唯一数字id的方法汇总

关于生成唯一数字ID的问题,是不是需要使用rand生成一个随机数,然后去数据库查询是否有这个数呢?感觉这样的话有点费时间,有没有其他方法呢? 当然不是,其实有两种方法可以解决. 1. 如果你只用php而不用数据库的话,那时间戳+随机数是最好的方法,且不重复: 2. 如果需要使用数据库,即你还需要给这个id关联一些其他的数据.那就给MySQL数据库中的表的id一个AUTO_INCREMENT(自增)属性,每次插入一条数据时,id自动+1,然后使用mysql_insert_id()或LAST_INS

Python使用cx_Freeze库生成msi格式安装文件的方法

本文实例讲述了Python使用cx_Freeze库生成msi格式安装文件的方法.分享给大家供大家参考,具体如下: ①.需要在目录下面创建一个文件 .setup.py ②.写入代码: import sys from cx_Freeze import setup, Executable import os os.environ['TCL_LIBRARY'] = r'C:\Python36-32\tcl\tcl8.6' os.environ['TK_LIBRARY'] = r'C:\Python36-

python 用 xlwings 库 生成图表的操作方法

xlwings是一个获得BSD许可的Python库,可以很容易地从Excel调用Python,反之亦然. 它适用于Windows和Mac上的Microsoft Excel. 在官方文档里找不到具体怎么生成图表,和一些参数设置. 这里自己整理了一下. import xlwings as xw app = xw.App() wb = app.books.active sht = wb.sheets.active chart = sht.charts.add(100, 10) # 100, 10 为图

使用python调用zxing库生成二维码图片详解

(1)安装Jpype 用Python调用jar包需要安装jpype扩展,在Ubuntu上可以直接使用apt-get安装jpype扩展 $ sudo apt-get install python-jpype (2) 得到zxing  jar包 使用zxing第三方库生成二维码图片,关于zxing的介绍可以看其github地址:https://github.com/zxing/zxing/. 我们可以下载源码编译安装包,也可以直接在网上下载jar包,我的jar包是直接下载的,如下: $ wget h

python使用matplotlib库生成随机漫步图

本教程使用python来生成随机漫步数据,再使用matplotlib将数据呈现出来 开发环境 操作系统: Windows10 IDE: Pycharm 2017.1.3 Python版本: Python3.6 Python第三方库:matplotlib 开始实战 1. 创建RandomWalk()类 为了模拟随机漫步,我们将创建一个名为RandomWalk的类, 它随机地选择方向. from random import choice class RandomWalk(): ""&quo

python实现字符串加密 生成唯一固定长度字符串

背景 有时候爬虫爬过的url需要进行指纹核对,比如Scrapy就是进行指纹核对,如果是指纹重复则不再爬取.当然在入库的时候我还是需要做一次核对,否则如果爬虫有漏掉,进入数据库就不合适了. 思路 根据Scrapy的指纹生成方式,这次的指纹生成方式也是用hash的MD5对目标URL进行加密,生成固定长度的字符串,然后在数据库里面将字段设置成unique,这样的话在保证url固定长度的情况下还能够保证入库后的唯一性,进最大努力避免出现重复的数据. 指纹生成代码 新建一个文件,然后在里面编写指纹生成的方

C#生成唯一值的方法汇总

生成唯一值的方法很多,下面就不同环境下生成的唯一标识方法一一介绍,作为工作中的一次总结,有兴趣的可以自行测试: 一.在 .NET 中生成 1.直接用.NET Framework 提供的 Guid() 函数,此种方法使用非常广泛.GUID(全局统一标识符)是指在一台机器上生成的数字,它保证对在同一时空中的任何两台计算机都不会生成重复的 GUID 值(即保证所有机器都是唯一的).关于GUID的介绍在此不作具体熬述,想深入了解可以自行查阅MSDN.代码如下: 复制代码 代码如下: using Syst