日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 综合教程 >内容正文

综合教程

Python标准库 -- UUID模块(生成唯一标识)

發布時間:2023/12/24 综合教程 24 生活家
生活随笔 收集整理的這篇文章主要介紹了 Python标准库 -- UUID模块(生成唯一标识) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

看到這篇博客小伙伴,送大家個福利:

先接著自己的思路,掌握下邊的UUID內容,回過頭來,再看下這篇python基于“雪花算法”gid生成庫。

地址:https://www.cnblogs.com/hellojesson/p/12942757.html  

UUID是什么:

  UUID: 通用唯一標識符 ( Universally Unique Identifier ),對于所有的UUID它可以保證在空間和時間上的唯一性,也稱為GUID,全稱為:

UUID —— Universally Unique IDentifier Python中稱為 UUID
GUID —— Globally Unique IDentifier C#中稱為 GUID

它是通過MAC地址、 時間戳、 命名空間、 隨機數、 偽隨機數來保證生成ID的唯一性,,有著固定的大小( 128 bit位 ),通常由 32 字節的字符串(十六進制)表示。

它的唯一性和一致性特點,使得可以無需注冊過程就能夠產生一個新的UUID;UUID可以被用作多種用途, 既可以用來短時間內標記一個對象,也可以可靠的辨別網絡中的持久性對象。

UUID有什么用?

  很多應用場景需要一個id,但是又不要求這個id 有具體的意義,僅僅用來標識一個對象。常見的用處有數據庫表的id字段;另一個例子是前端的各種UI庫,因為它們通常需要動態創建各種UI元素,這些元素需要唯一的id, 這時候就需要使用UUID了。例如:一個網站在存儲視頻、圖片等格式的文件時,這些文件的命名方式就可以采用 UUID生成的隨機標識符,避免重名的出現。

UUID模塊提供的UUID類和函數

python的uuid模塊提供的UUID類和函數uuid1(),uuid3(),uuid4(),uuid5() 來生成1, 3, 4, 5各個版本的UUID ( 需要注意的是:python中沒有uuid2()這個函數)。

對uuid模塊中最常用的幾個函數總結如下:

1. uuid.uuid1([node[, clock_seq]]) -- 基于時間戳

由 MAC 地址(主機物理地址)、當前時間戳、隨機數生成。可以保證全球范圍內的唯一性,
但 MAC 的使用同時帶來安全性問題,局域網中可以使用 IP 來代替MAC。

該函數有兩個參數, 如果 node 參數未指定, 系統將會自動調用 getnode() 函數來獲取主機的硬件地址. 如果 clock_seq 參數未指定系統會使用一個隨機產生的14位序列號來代替.

注意: uuid1() 返回的不是普通的字符串,而是一個 uuid 對象,其內含有豐富的成員函數和變量。

2. uuid.uuid2() -- 基于分布式計算環境DCE(Python中沒有這個函數)

算法與uuid1相同,不同的是把時間戳的前 4 位置換為 POSIX 的 UID。
實際中很少用到該方法。

3. uuid.uuid3(namespace, name) -- 基于名字的MD5散列值

通過計算名字和命名空間的MD5散列值得到,保證了同一命名空間中不同名字的唯一性,
和不同命名空間的唯一性,但同一命名空間的同一名字生成相同的uuid。

4. uuid.uuid4() -- 基于隨機數

由偽隨機數得到,有一定的重復概率,該概率可以計算出來。

5. uuid.uuid5() -- 基于名字的SHA-1散列值

算法與uuid3相同,不同的是使用 Secure Hash Algorithm 1 算法

上述幾個函數的使用方法:

>>> import uuid # 導入UUID模塊

>>> # make a UUID based on the host ID and current time
>>> uuid.uuid1()
UUID('a8098c1a-f86e-11da-bd1a-00112444be1e')

>>> # make a UUID using an MD5 hash of a namespace UUID and a name
>>> uuid.uuid3(uuid.NAMESPACE_DNS, 'python.org')
UUID('6fa459ea-ee8a-3ca4-894e-db77e160355e')

>>> # make a random UUID
>>> uuid.uuid4()
UUID('16fd2706-8baf-433b-82eb-8c7fada847da')

>>> # make a UUID using a SHA-1 hash of a namespace UUID and a name
>>> uuid.uuid5(uuid.NAMESPACE_DNS, 'python.org')
UUID('886313e1-3b8a-5372-9b90-0c9aee199e5d')

>>> # make a UUID from a string of hex digits (braces and hyphens ignored)
>>> x = uuid.UUID('{00010203-0405-0607-0809-0a0b0c0d0e0f}')

>>> # convert a UUID to a string of hex digits in standard form
>>> str(x)
'00010203-0405-0607-0809-0a0b0c0d0e0f'

>>> # get the raw 16 bytes of the UUID
>>> x.bytes
'x00x01x02x03x04x05x06x07x08	
x0bx0cx0ex0f'

>>> # make a UUID from a 16-byte string
>>> uuid.UUID(bytes=x.bytes)
UUID('00010203-0405-0607-0809-0a0b0c0d0e0f')

實例:

首先,Python中沒有基于 DCE 的,所以uuid2可以忽略;
其次,uuid4存在概率性重復,由無映射性,最好不用;
再次,若在Global的分布式計算環境下,最好用uuid1;
最后,若有名字的唯一性要求,最好用uuid3或uuid5。

import uuid
name = "test_name"
namespace = "test_namespace"

print uuid.uuid1()  # 帶參的方法參見Python Doc
print uuid.uuid3(namespace, name)
print uuid.uuid4()
print uuid.uuid5(namespace, name)

uuid模塊文檔:https://docs.python.org/2/library/uuid.html

總結

以上是生活随笔為你收集整理的Python标准库 -- UUID模块(生成唯一标识)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 亚洲第一成人av | 亚洲精品天天 | 男人日女人b视频 | 五月婷婷狠狠 | 人妻丰满熟妇av无码久久洗澡 | 人人干人人干人人干 | 少女忠诚电影高清免费 | 国产一区二区精品在线 | 丁香花在线影院观看在线播放 | 青青视频二区 | 久操伊人 | 1区2区视频| 老子午夜影院 | 初音未来打屁股 | 国内精久久久久久久久久人 | 97夜夜操 | 国产精品视频观看 | 国产在线综合视频 | 日产精品久久久一区二区 | 人人模人人干 | 久久99这里只有精品 | 丰满熟妇人妻中文字幕 | 亚洲欧美婷婷 | 精品日韩视频 | 第一页综合| 国产精品手机在线 | 色小说综合 | 伊人久久影院 | 91视频爱爱 | 中文字幕在线观看一区二区三区 | 中文区中文字幕免费看 | 黄色三级三级三级三级 | 久久九九色 | 色女人天堂 | 国产美女福利 | 美女扒开内看个够网站 | 男人的天堂视频 | 国产免费91视频 | 成人福利一区二区三区 | 中文字幕第十二页 | 午夜无遮挡 | 亚洲精品人妻无码 | 国产在线操| 黄色69| 深夜福利在线免费观看 | 精品国产1区2区 | 欧美丰满少妇人妻精品 | 天堂久久久久 | 国产精品久久久久永久免费看 | 亚洲国产一区二区在线观看 | 人人干免费 | 色八区| 欧美视频在线一区二区三区 | 被黑人猛躁10次高潮视频 | 欧美丰满美乳xxx高潮www | 色狠狠综合 | 在线综合色 | 日本午夜大片 | 性少妇xxxxx 亚洲一卡二卡在线观看 | 毛片一二三区 | 国产成人精品久久二区二区 | 成人综合网址 | 在线步兵区 | 欧美乱淫视频 | av久色| 久色视频 | a√天堂在线| 永久免费看黄网站 | 国产91精品久久久久久久 | 乐播av一区二区三区 | 在线观看视频一区二区三区 | 88av网站| 中文字幕女同 | 中文字幕在线观看二区 | 青娱乐av | 制服丝袜国产精品 | 俺去操 | 天天看夜夜 | 午夜精品美女久久久久av福利 | 免费av高清 | 黄色在线观看免费 | av免费看在线 | 一道本av | 黄网址在线观看 | 欧美熟妇精品久久久久久 | 一级激情视频 | 都市激情 自拍偷拍 | 娇妻玩4p被三个男人伺候电影 | 一级黄色片在线播放 | 欧美激情网址 | 99热这里只有精品18 | 男人天堂aaa| 国产精品第二十页 | 视频一区二区三区四区五区 | 亚洲国产成人一区二区 | 男人影院在线观看 | 欧美偷拍综合 | 两性av | 久久这里|