UUID: Universally Unique IDentifier是128位的全局唯一标识符,通常由32字节的字符串表示,它可以保证时间和空间的唯一性
它通过MAC地址、时间戳、命名空间、随机数、伪随机数来保证生成ID的唯一性。
UUID主要有五个算法,也就是五种方法来实现:
uuid1()——基于时间戳
uuid2()——基于分布式计算环境DCE(Python中没有这个函数)
uuid3()——基于名字的MD5散列值
uuid4()——基于随机数
uuid5()——基于名字的SHA-1散列值
以下是python官方提供的参考示例
>>> import 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')
生成 32 位哈希值
uuid.uuid4().hex Out[3]: '28128f59692242b2854ece961ea1dd35'