uuid

作者: 夕阳_好 | 来源:发表于2020-04-30 18:06 被阅读0次

概述:
是128位的全局唯一标识符(字符串),通常由32字节的字母串表示,它可以保证时间和空间的唯一性,也称为GUID

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

作用:
随机生成字符串,当成token使用,当成用户账号使用,当成订单号使用,这些都是要求唯一的应用

算法:

  uuid1()  基于时间戳
   MAC地址、当前的时间戳、随机数字,可以保证全球范围内的唯一性
  uuid2() 基于分布式计算环境DCE # Python 没有
和uuid1相同,不同的是把时间戳的前饲喂换位posix的uuid,实际当中很少使用
uuid3() 基于名字和MD5散列值  
通过计算名字和命名空间的MD5散列值得到的,保证了同一命名空间中不同名字的唯一性和不同命名空间的唯一性,但同一命名空间的相同名字生成相同的uudi

uuid4()基于随机数
有伪随机数得到的,有一定的重复概率,这个概率可以计算出来
uuid()5 基于名字和SHA1散列值
    算法和uuid3相同,不同的是使用的算法不一样

使用经验:
1.Python中没有DCE
2.uuid4存在概率性重复,由于无映射性,最好不用
3.如果在全局的分布式环境下,最好使用uudi1(),效率高,只需要根据MAC地址不同就行啦
4.若名字的唯一性要求,最好使用uuid3和uuid5,
解决网站的用户名不同的时候,生成token

print(uuid.uuid1())
print(uudi.uuid4())
print(uuid.uuid3(uuid.NAMESPACE_DNS, '命名'))
  

相关文章

网友评论

      本文标题:uuid

      本文链接:https://www.haomeiwen.com/subject/xoyvwhtx.html