日韩性视频-久久久蜜桃-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麻豆色欲 | 久久亚洲成人 | 亚洲综合在线五月 | 亚洲精品小视频在线观看 | 影音先锋亚洲成aⅴ人在 | 涩涩视频免费 | 色综合久久88色综合天天6 | 欧美日韩日本国产 | 天天透天天操 | 青青草国产成人av片免费 | 色婷婷视频在线观看 | 欧美专区综合 | 久久久久久久91 | 狠狠操一区二区 | 高潮白浆 | 国产成人精品一区二区三区视频 | 中文字幕在线2021 | 91网站视频在线观看 | 久久观看最新视频 | 激情 亚洲| 黄色一级片在线看 | 久久发布国产伦子伦精品 | 国产亚洲色婷婷久久 | 国产在线视频卡一卡二 | 91视频h| 夜夜撸影院 | 中文字幕99页| 浓精h攵女乱爱av | 人人人超碰 | 国产精品无码白浆高潮 | 综合av第一页 | 校园春色av| 床上激情网站 | 国产精品一区一区三区 | 午夜刺激视频 | 成人av自拍| 91丨国产丨白丝 | 瑟瑟视频在线观看 | 97av超碰| 1024视频污 | 热99在线 | 婷婷午夜影院 | 九色在线| 久久久久久久久久一级 | 超碰超碰超碰超碰超碰 | 欧美成人黄 | 免费a在线观看播放 | 善良的公与媳hd中文字 | 国产一级片免费 | 国产成人一区二区三区别 | 熟女国产精品一区二区三 | 丰满少妇高潮在线观看 | 精品久久久亚洲 | 国产一区99 | 亚洲福利av| 午夜国产在线视频 | 免费99视频 | xxxxⅹxxxhd日本8hd | 亚洲 欧美 日韩 在线 | 国产美女诱惑 | 国产精品性色 | 欧美日韩一区二区三区电影 | 日本免费一区二区三区四区 | 亚洲成人av网址 | 国产色片在线观看 | 国产午夜精品久久久久久久久久 | 欧美一级视频在线观看 | 欧美成人精品一区二区 | 精品亚洲综合 | 色哟哟入口 | 内射一区二区 | 免费精品无码AV片在线观看黄 | 欧美一区免费 | 95看片淫黄大片一级 | 日日夜夜91 | 色婷婷97| 欧美xx在线 | 337p日本欧洲亚洲大胆张筱雨 | 成人靠逼视频 | 国产精品一线天粉嫩av | 一本色道久久hezyo无码 | 在线观看福利电影 | 国产性爱精品视频 | 久久精品123| 国产资源在线看 | 精品国产乱码久久久久久牛牛 | 综合精品在线 | 精品久久久影院 | 色香蕉在线视频 | 精品久久影视 | 性高潮久久久久久久久久 | 日韩v欧美 | 亚洲国产一区二区三区在线观看 |