• uuid的使用


    1、mysql中直接使用uuid()函数,可以生成一个随机的uuid

    正常的uuid是36位长度的,其中有4个字符是‘-’,在mysql中可以使用replace()函数来替换‘-’

    insert into 表名(字段名) values(uuid())

    把name=1的字段的id改成uuid,并去掉‘-’

    UPDATE bill_annex set id = REPLACE(UUID(),"-","") where name= '1'

    2、uuid模块

    uuid1()基于时间戳

    由MAC地址,当前时间戳,随机数字生成,可以保证全球范围内的唯一性,但是由于MAC地址的使用同时带来了安全问题

    局域网用IP代替MAC

    uuid2()---基于分布式计算环境DCE(python中没有这个函数)

    算法和uuid1相同,不同的是把时间戳的前4位换位POSIX的UID,实际中很少用到该方法。

    uuid3()基于名字和MD5散列值

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

    uuid4()基于随机数

    由伪随机数得到,有一定的重复概率,该概率可以计算出来,最好不用这个

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

    算法和uuid3()相同,不同的是使用secure hash algorithm1算法

    使用经验:

    如果在global的分布式计算环境下,最好用uuid1

    若有名字的唯一性要求,最好使用uuid3或uuid5

    使用

    import uuid
     
    # uuid1()
    >>> print(uuid.uuid1())
    2cf0fa7e-48d9-11e6-93fb-c03fd53413ef
    # uuid3()
    >>> print(uuid.uuid3(uuid.NAMESPACE_DNS, 'test'))
    45a113ac-c7f2-30b0-90a5-a399ab912716
    # uuid4()
    >>> print(uuid.uuid4())
    08bffbb6-05e1-41c1-8989-6aa07a4a5e5d
    # uuid5()
    >>> print(uuid.uuid5(uuid.NAMESPACE_DNS, 'test'))
    4be0643f-1d98-573b-97cd-ca98a65347dd
  • 相关阅读:
    第七次作业-话费充值
    第七次作业-qq登录&跳转
    第六次作业
    第五次作业
    第四次作业
    jsp第二次作业
    第一次jsp作业
    第九次作业
    第八次作业
    第七次2作业
  • 原文地址:https://www.cnblogs.com/z-x-y/p/9791104.html
Copyright © 2020-2023  润新知