undefined

生成唯一的字符串UUID于MD5

UUID是128位的全局唯一标识符,通常由32字节的字符串表示,保证时间和空间的唯一性

通过MAC地址、时间戳、命名空间、随机数、伪随机数来保证生成ID的唯一性

uuid1()——基于时间戳

uuid3()——基于名字的MD5散列值

通过计算名字和命名空间的MD5散列值得到,保证了同一命名空间中不同名字的唯一性,

和不同命名空间的唯一性,但同一命名空间的同一名字生成相同的uuid。

uuid4()——基于随机数

由伪随机数得到,有一定的重复概率,该概率可以计算出来。

uuid5()——基于名字的SHA-1散列值

算法与uuid3相同,不同的是使用 Secure Hash Algorithm 1 算法

导入uuid

import uuid

token = uuid.uuid4()

  1. python使用 haslib.md5 生成唯一ID

在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)

UUID%E6%98%AF128%E4%BD%8D%E7%9A%84%E5%85%A8%E5%B1%80%E5%94%AF%E4%B8%80%E6%A0%87%E8%AF%86%E7%AC%A6%EF%BC%8C%E9%80%9A%E5%B8%B8%E7%94%B132%E5%AD%97%E8%8A%82%E7%9A%84%E5%AD%97%E7%AC%A6%E4%B8%B2%E8%A1%A8%E7%A4%BA%2C%E4%BF%9D%E8%AF%81%E6%97%B6%E9%97%B4%E5%92%8C%E7%A9%BA%E9%97%B4%E7%9A%84%E5%94%AF%E4%B8%80%E6%80%A7%0A%E9%80%9A%E8%BF%87MAC%E5%9C%B0%E5%9D%80%E3%80%81%E6%97%B6%E9%97%B4%E6%88%B3%E3%80%81%E5%91%BD%E5%90%8D%E7%A9%BA%E9%97%B4%E3%80%81%E9%9A%8F%E6%9C%BA%E6%95%B0%E3%80%81%E4%BC%AA%E9%9A%8F%E6%9C%BA%E6%95%B0%E6%9D%A5%E4%BF%9D%E8%AF%81%E7%94%9F%E6%88%90ID%E7%9A%84%E5%94%AF%E4%B8%80%E6%80%A7%0A%0Auuid1()%E2%80%94%E2%80%94%E5%9F%BA%E4%BA%8E%E6%97%B6%E9%97%B4%E6%88%B3%0Auuid3()%E2%80%94%E2%80%94%E5%9F%BA%E4%BA%8E%E5%90%8D%E5%AD%97%E7%9A%84MD5%E6%95%A3%E5%88%97%E5%80%BC%0A%20%20%20%20%20%20%20%20%20%20%20%20%E9%80%9A%E8%BF%87%E8%AE%A1%E7%AE%97%E5%90%8D%E5%AD%97%E5%92%8C%E5%91%BD%E5%90%8D%E7%A9%BA%E9%97%B4%E7%9A%84MD5%E6%95%A3%E5%88%97%E5%80%BC%E5%BE%97%E5%88%B0%EF%BC%8C%E4%BF%9D%E8%AF%81%E4%BA%86%E5%90%8C%E4%B8%80%E5%91%BD%E5%90%8D%E7%A9%BA%E9%97%B4%E4%B8%AD%E4%B8%8D%E5%90%8C%E5%90%8D%E5%AD%97%E7%9A%84%E5%94%AF%E4%B8%80%E6%80%A7%EF%BC%8C%0A%20%20%20%20%20%20%20%20%20%20%20%20%E5%92%8C%E4%B8%8D%E5%90%8C%E5%91%BD%E5%90%8D%E7%A9%BA%E9%97%B4%E7%9A%84%E5%94%AF%E4%B8%80%E6%80%A7%EF%BC%8C%E4%BD%86%E5%90%8C%E4%B8%80%E5%91%BD%E5%90%8D%E7%A9%BA%E9%97%B4%E7%9A%84%E5%90%8C%E4%B8%80%E5%90%8D%E5%AD%97%E7%94%9F%E6%88%90%E7%9B%B8%E5%90%8C%E7%9A%84uuid%E3%80%82%20%20%20%20%0A%20uuid4()%E2%80%94%E2%80%94%E5%9F%BA%E4%BA%8E%E9%9A%8F%E6%9C%BA%E6%95%B0%0A%20%20%20%20%20%20%20%20%20%20%20%20%E7%94%B1%E4%BC%AA%E9%9A%8F%E6%9C%BA%E6%95%B0%E5%BE%97%E5%88%B0%EF%BC%8C%E6%9C%89%E4%B8%80%E5%AE%9A%E7%9A%84%E9%87%8D%E5%A4%8D%E6%A6%82%E7%8E%87%EF%BC%8C%E8%AF%A5%E6%A6%82%E7%8E%87%E5%8F%AF%E4%BB%A5%E8%AE%A1%E7%AE%97%E5%87%BA%E6%9D%A5%E3%80%82%0A%20uuid5()%E2%80%94%E2%80%94%E5%9F%BA%E4%BA%8E%E5%90%8D%E5%AD%97%E7%9A%84SHA-1%E6%95%A3%E5%88%97%E5%80%BC%0A%20%20%20%20%20%20%20%20%20%20%20%20%E7%AE%97%E6%B3%95%E4%B8%8Euuid3%E7%9B%B8%E5%90%8C%EF%BC%8C%E4%B8%8D%E5%90%8C%E7%9A%84%E6%98%AF%E4%BD%BF%E7%94%A8%20Secure%20Hash%20Algorithm%201%20%E7%AE%97%E6%B3%95%0A%20%20%20%20%20%20%20%20%E5%AF%BC%E5%85%A5uuid%0A%20%20%20%20%20%20%20%20import%20uuid%20%0A%20%20%20%20%20%20%20%20token%20%3D%20uuid.uuid4()%0A%0A2.%20python%E4%BD%BF%E7%94%A8%20haslib.md5%20%E7%94%9F%E6%88%90%E5%94%AF%E4%B8%80ID%0A%E5%9C%A8hashlib%E5%BA%93%E7%9A%84hash%E7%AE%97%E6%B3%95%E4%B8%AD%EF%BC%8C%E6%8F%90%E4%BE%9B%E4%BA%86%E5%BE%88%E5%A4%9A%E5%8A%A0%E5%AF%86%E7%AE%97%E6%B3%95%EF%BC%8C%E6%9C%89%20sha1()%E3%80%81sha224()%E3%80%81sha256()%E3%80%81sha384()%E3%80%81sha512()%E3%80%81blake2b()%E5%92%8C%20blake2s()%E3%80%81md5()%EF%BC%8C%E8%BF%99%E4%BA%9B%E6%96%B9%E6%B3%95%E9%83%BD%E9%80%9A%E8%BF%87%E7%BB%9F%E4%B8%80%E6%8E%A5%E5%8F%A3%E8%BF%94%E5%9B%9E%E4%B8%80%E4%B8%AA%E5%AF%B9%E8%B1%A1%EF%BC%8C%E4%BE%8B%E5%A6%82%EF%BC%8C%E4%BD%BF%E7%94%A8sha256()%E5%8F%AF%E4%BB%A5%E5%88%9B%E5%BB%BA%E4%B8%80%E4%B8%AASHA-256%E7%9A%84%E5%93%88%E5%B8%8C%E5%AF%B9%E8%B1%A1%E3%80%82%0Aimport%20hashlib%0Amd%20%3D%20haslib.md5(salt)%20%20%23%20bytes%0Amd.update(‘’)%20%23%20encode%0Are%20%3D%20md.hexdigest()%0Aprint(re)