天天看點

使用Python生成獨一無二的字元串一、uuid簡介二、生成随機字元串

【原文連結】使用Python生成獨一無二的字元串

文章目錄

  • 一、uuid簡介
  • 二、生成随機字元串

一、uuid簡介

  • uuid.uuid1() 基于MAC位址、時間戳、随機數來生成唯一的uuid
  • uuid.uuid2() 基于分布式計算環境DCE(python中沒有該函數),算法與uuid1相同,但是将時間戳的前四位換成posix的UID
  • uuid.uuid3() 基于計算名字與命名空間,同一命名空間不同名字結果不同,同一名字不同命名空間結果不同,但是相同名字相同命名空間會是結果一直
  • uuid.uuid4() 基于(僞)随機數,有一定的重複機率
  • uuid.uuid5() 基于名字,與算法uuid3大緻相同

二、生成随機字元串

通過上述uuid簡介,可以得出使用uuid.uuid1()基本上可以做到獨一無二的随機字元串

比如如下代碼,連續生成10個随機字元串,并列印出來

import uuid

for i in range(10):
    name=str(uuid.uuid1())
    print(name)
           

執行結果如下,可以看出,雖然是同一台電腦幾乎同一時間,生成的字元串仍然是不相同的。

使用Python生成獨一無二的字元串一、uuid簡介二、生成随機字元串

下面可以在代碼中增加sleep等待

import uuid
import time

for i in range(10):
    time.sleep(1)
    name=str(uuid.uuid1())
    print(name)
           

增加時間間隔後,可以發現第一列的随機性更大了

使用Python生成獨一無二的字元串一、uuid簡介二、生成随機字元串

是以,可以放心的使用 uuid.uuid1() 方法生成獨一無二的随機字元串