通過mac位址、時間戳、命名空間、隨機數、偽隨機數來保證生成id的唯一性
用法:
uuid1()——基於時間戳
uuid3()——基於名字的md5雜湊值
通過計算名字和命名空間的md5雜湊值得到,保證了同一命名空間中不同名字的唯一性,
和不同命名空間的唯一性,但同一命名空間的同一名字生成相同的uuid。
uuid4()——基於隨機數
由偽隨機數得到,有一定的重複概率,該概率可以計算出來。
uuid5()——基於名字的sha-1雜湊值
演算法與uuid3相同,不同的是使用 secure hash algorithm 1 演算法
匯入uuid
import uuid
token = uuid.uuid4()
參考至 :
在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)
PHP之生成唯一字串
生成唯一字串 0 存數字字串 1 小寫字母字串 2 大寫字母字串 3 大小寫數字字串 4 字元 5 數字,小寫,大寫,字元混合 param integer type 字串的型別 param integer length 字串的長度 param integer time 是否帶時間1 帶,0 不帶 r...
字串(一) 字串Hash
今天開一手最不 tao 擅 yan 長的字串演算法 字串hash演算法。似乎提到字串的話,kmp應該是更為常見的一種,但是hash有它的優點,被犇們稱為 優雅的暴力 何謂hash?hash的中文稱為雜湊,這當然是音譯,直譯過來就是雜湊,或者也有叫預對映的。雜湊的作用就是通過某個特殊函式的對映,將任意...
PHP在分布式環境生成唯一字串
在分布式環境下,我們通常需要生成乙個絕對唯一的字串 但是因為uniqid是基於微妙時間的,所以很多情況下在多程序,分布式高併發的時候表現有些差強人意,還是會出現重複的可能。雖然資料庫可以用唯一索引解決這個問題,但是首先分布式的資料庫設計不一定能很方便的設計唯一索引,其次我們更應該在程式上下點功夫找找...