亂數格式為:xxxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxx
python的uuid模塊提供UUID類和函式uuid1(), uuid3(), uuid4(), uuid5()
1.uuid.uuid1([node[, clock_seq]])
基于時間戳
使用主機ID, 序列號, 和當前時間來生成UUID, 可保證全球范圍的唯一性. 但由于使用該方法生成的UUID中包含有主機的網路地址, 因此可能危及隱私. 該函式有兩個引數, 如果 node 引數未指定, 系統將會自動呼叫 getnode() 函式來獲取主機的硬體地址. 如果 clock_seq 引數未指定系統會使用一個隨機產生的14位序列號來代替.
2.uuid.uuid3(namespace, name)
基于名字的MD5散列值
通過計算命名空間和名字的MD5散列值來生成UUID, 可以保證同一命名空間中不同名字的唯一性和不同命名空間的唯一性, 但同一命名空間的同一名字生成的UUID相同.
3.uuid.uuid4()
基于亂數
通過亂數來生成UUID. 使用的是偽亂數有一定的重復概率.
4.uuid.uuid5(namespace, name)
基于名字的SHA-1散列值
通過計算命名空間和名字的SHA-1散列值來生成UUID, 演算法與 uuid.uuid3() 相同
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/179646.html
標籤:Python
