zoukankan      html  css  js  c++  java
  • Python 标准类库- 因特网协议于支持之UUID

    标准类库- 因特网协议于支持之UUID

    by:授客 QQ:1033553122

     

    测试环境

    python3

     

    UUID生成函数定义

    uuid.getnode()

    获取一个表示硬件地址的48位正整数。第一次运行,需要启动一个独立程序,可能会很慢。如果获取硬件地址失败,返回一个随机的48位数。

     

    uuid.uuid1(node=None, clock_seq=None)

    根据主机id,序列号,当前时间生成一个UUID。如果node=None,那么使用getnode()获取硬件地址,如果clock_seq不为None,则使用它作为序列号,否则使用一个随机的14位数作为序列号。

     

    uuid.uuid3(namespace, name)

    基于一个namespace(一个UUID)的MD5 HASH算法和一个name(一个字符串)生成一个UUID。

     

    uuid.uuid4()

    通过伪随机数得到UUID,是有一定概率重复的

     

    uuid.uuid5(namespace, name)

    基于namespace(一个UUID)的MD5 SHA-1和name(一个字符串)生成一个UUID。

     

    namespace可选值

     

    uuid.NAMESPACE_DNS

    如果指定该namespace,则name参数为一个完全合法的域名

     

    uuid.NAMESPACE_URL

    如果指定该namespace,则name参数为一个URL

     

    uuid.NAMESPACE_OID

    如果指定该namespace,则name参数为一个ISO OID

     

    uuid.NAMESPACE_X500

    如果指定该namespace,则name参数为一个x.500

     

    例子

    >>> import uuid

    >>> print(uuid.getnode())

    268612366648253

     

    >>> # make a UUID based on the host ID and current time

    >>> print(uuid.uuid1())

    bf6afc64-0f1b-11e9-8461-f44d30b243bd

     

    >>> # make a UUID using an MD5 hash of a namespace UUID and a name

    >>> print(uuid.uuid3(uuid.NAMESPACE_DNS, 'python.org'))

    6fa459ea-ee8a-3ca4-894e-db77e160355e

     

    >>> # make a random UUID

    >>> print(uuid.uuid4())

    303c8046-1c77-491a-9e25-91aafc3b6205

     

    >>> # make a UUID using a SHA-1 hash of a namespace UUID and a name

    >>> print(uuid.uuid5(uuid.NAMESPACE_DNS,'python.org'))

    886313e1-3b8a-5372-9b90-0c9aee199e5d

    >>>

     

     

     

     

    更多资料,烦参考官方文档

  • 相关阅读:
    mysql 聚集函数 count 使用详解
    在Docker中使用kettle遇到的问题解决
    整取零存_字段级迁移工具
    快速修改MySQL字段类型
    数据仓库知识点梳理(4)
    五一节分享60多本免费AI电子书
    数据仓库知识点梳理(3)
    数据仓库知识点梳理(2)
    数据仓库知识点梳理(1)
    解决MacVim在macOS Catalina下字母显示不全的问题
  • 原文地址:https://www.cnblogs.com/shouke/p/10582556.html
Copyright © 2011-2022 走看看