精华内容
下载资源
问答
  • 为了保证UUID唯一性,规范定义了包括网卡MAC地址、时间戳、名字空间(Namespace)、随机或伪随机数、时序等元素。 含义 经由一定的算法机器生成 为了保证UUID唯一性,规范定义了包括网卡MAC地址、时间戳、...

    参考地址:https://www.zhihu.com/question/34876910

    为了保证UUID的唯一性,规范定义了包括网卡MAC地址、时间戳、名字空间(Namespace)、随机或伪随机数、时序等元素。

    含义

    经由一定的算法机器生成

    为了保证UUID的唯一性,规范定义了包括网卡MAC地址、时间戳、名字空间(Namespace)、随机或伪随机数、时序等元素,以及从这些元素生成UUID的算法。UUID的复杂特性在保证了其唯一性的同时,意味着只能由计算机生成。

    非人工指定,非人工识别

    UUID是不能人工指定的,除非你冒着UUID重复的风险。UUID的复杂性决定了“一般人“不能直接从一个UUID知道哪个对象和它关联。

    在特定的范围内重复的可能性极小

    UUID的生成规范定义的算法主要目的就是要保证其唯一性。但这个唯一性是有限的,只在特定的范围内才能得到保证,这和UUID的类型有关(参见UUID的版本)。

    UUID的版本

    UUID Version 1:基于时间的UUID

    基于时间的UUID通过计算当前时间戳、随机数和机器MAC地址得到。由于在算法中使用了MAC地址,这个版本的UUID可以保证在全球范围的唯一性。但与此同时,使用MAC地址会带来安全性问题,这就是这个版本UUID受到批评的地方。如果应用只是在局域网中使用,也可以使用退化的算法,以IP地址来代替MAC地址--Java的UUID往往是这样实现的(当然也考虑了获取MAC的难度)。

    UUID Version 2:DCE安全的UUID

    DCE(Distributed Computing Environment)安全的UUID和基于时间的UUID算法相同,但会把时间戳的前4位置换为POSIX的UID或GID。这个版本的UUID在实际中较少用到。

    UUID Version 3:基于名字的UUID(MD5)

    基于名字的UUID通过计算名字和名字空间的MD5散列值得到。这个版本的UUID保证了:相同名字空间中不同名字生成的UUID的唯一性;不同名字空间中的UUID的唯一性;相同名字空间中相同名字的UUID重复生成是相同的。

    UUID Version 4:随机UUID

    根据随机数,或者伪随机数生成UUID。这种UUID产生重复的概率是可以计算出来的,但随机的东西就像是买彩票:你指望它发财是不可能的,但狗屎运通常会在不经意中到来。

    UUID Version 5:基于名字的UUID(SHA1)

    和版本3的UUID算法类似,只是散列值计算使用SHA1(Secure Hash Algorithm 1)算法。

    Version 1/2适合应用于分布式计算环境下,具有高度的唯一性;

    Version 3/5适合于一定范围内名字唯一,且需要或可能会重复生成UUID的环境下;

    至于Version 4,个人的建议是最好不用(虽然它是最简单最方便的)。

    展开全文
  • ios确保UUID唯一

    2017-02-21 13:11:19
    ios在需要用到上报客户端的时候需要确保UUID的一致性,几句代码就能搞定! 自己使用的时候需注意: 在Build Phases里面将 KeychainItemWrapper.m添加支持非arc模式:需要输入 -fno-objc-arc
  • ramsey / uuid是一个PHP库,用于生成和使用通用唯一标识符(UUID)。 该项目遵守《 。 通过参与该项目及其社区,您应该遵守此代码。 该库的许多灵感来自和 UUID库。 安装 首选的安装方法是通过 。 运行以下命令以...
  • GUID是一个128位长的数字,一般用16进制表示。算法的核心思想是结合机器的网卡、当地时间、一个随即数来生成GUID。从理论上讲,如果一台机器每秒产生10000000个GUID,则可以保证(概率意义上)3240年不重复
  • 为什么UUID唯一

    千次阅读 2018-08-07 12:59:37
    UUID是一种通用唯一识别码,而且本机生成不耗费资源,目的是用于分布式环境中唯一生成标志码,是由32个16进制数组成, 主要包括三部分: (1)当前日期和时间,UUID的第一个部分是当前日期和时间,如果你在生成一个...

    UUID是一种通用唯一识别码,而且本机生成不耗费资源,目的是用于分布式环境中唯一生成标志码,是由32个16进制数组成,

    主要包括三部分:

    (1)当前日期和时间,UUID的第一个部分是当前日期和时间,如果你在生成一个UUID之后,过几秒又生成一个UUID,则第一个部分不同,其余相同。

    (2)时钟序列

    (3)全局唯一的IEEE机器识别号(如果有网卡,从网卡获得,没有网卡以其他方式获得)

    例如:

    550e8400-e29b-41d4-a716-446655440000

    展开全文
  • UUID含义是通用唯一识别码 (Universally Unique Identifier),这是一个软件建构的标准,也是被开源软件基金会 (Open Software Foundation, OSF) 的组织在分布式计算环境 (Distributed Computing Environment, DCE) ...

    一、UUID概述

    UUID含义是通用唯一识别码 (Universally Unique Identifier),这是一个软件建构的标准,也是被开源软件基金会 (Open Software Foundation, OSF) 的组织在分布式计算环境 (Distributed Computing Environment, DCE) 领域的一部份。

    UUID 的目的,是让分布式系统中的所有元素,都能有唯一的辨识资讯,而不需要透过中央控制端来做辨识资讯的指定。如此一来,每个人都可以建立不与其它人冲突的 UUID。在这样的情况下,就不需考虑数据库建立时的名称重复问题。

    目前最广泛应用的 UUID,即是微软的 Microsoft's Globally Unique Identifiers (GUIDs),而其他重要的应用,则有 Linux ext2/ext3 档案系统、LUKS 加密分割区、GNOME、KDE、Mac OS X 等等。

    UUID的唯一缺陷在于生成的结果串会比较。 

     

    二、UUID 组成

        UUID保证对在同一时空中的所有机器都是唯一的。通常平台会提供生成的API。按照开放软件基金会(OSF)制定的标准计算,用到了以太网卡地址、纳秒级时间、芯片ID码和许多可能的数字。
    UUID组成部分:
    (1)当前日期和时间,UUID的第一个部分与时间有关,如果你在生成一个UUID之后,过几秒又生成一个UUID,则第一个部分不同,其余相同。
    (2)时钟序列。
    (3)全局唯一的IEEE机器识别号,如果有网卡,从网卡MAC地址获得,没有网卡以其他方式获得。


    在ColdFusion中可以用CreateUUID()函数很简单地生成UUID,
    其格式为:xxxxxxxx-xxxx-xxxx-xxxxxxxxxxxxxxxx(8-4-4-16),其中每个 x 是 0-9 或 a-f 范围内的一个十六进制的数字。

    而标准的UUID格式为:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx (8-4-4-4-12);

     

    三、java使用UUID

    java.util.UUID 类表示一个不变的通用唯一标识符(UUID)。以下是有关UUID的要点:

    • 一个UUID表示一个128位的值。

    • 它是用于创建随机文件名,在Web应用程序的会话ID,事务ID等。

    • 还有UUID四种不同的基本类型:基于时间,DCE安全性,基于名称,并随机生成的UUID。

     

    以下是java.util.UUID类的声明:

    public final class UUID
       extends Object
          implements Serializable, Comparable<UUID>

     

    UUID的使用:

    //生成的id 752d231c-e5a3-871c-65d4-142dfa562cb4中间含有横杠,用来生成数据库的主键id是很实用的。
    UUID uuid  =  UUID.randomUUID();
    String id=uuid.toString();
    id=id.replace("-", "");//替换掉中间的那个横杠  

     

    方法摘要
     intclockSequence()
              与此 UUID 相关联的时钟序列值。
     intcompareTo(UUID val)
              将此 UUID 与指定的 UUID 比较。
     booleanequals(Object obj)
              将此对象与指定对象比较。
    static UUIDfromString(String name)
              根据 toString() 方法中描述的字符串标准表示形式创建 UUID
     longgetLeastSignificantBits()
              返回此 UUID 的 128 位值中的最低有效 64 位。
     longgetMostSignificantBits()
              返回此 UUID 的 128 位值中的最高有效 64 位。
     inthashCode()
              返回此 UUID 的哈希码。
    static UUIDnameUUIDFromBytes(byte[] name)
              根据指定的字节数组获取类型 3(基于名称的)UUID 的静态工厂。
     longnode()
              与此 UUID 相关的节点值。
    static UUIDrandomUUID()
              获取类型 4(伪随机生成的)UUID 的静态工厂。
     longtimestamp()
              与此 UUID 相关联的时间戳值。
     StringtoString()
              返回表示此 UUIDString 对象。
     intvariant()
              与此 UUID 相关联的变体号。
     intversion()
              与此 UUID 相关联的版本号。

     

     

    转载于:https://www.cnblogs.com/maokun/p/6718148.html

    展开全文
  • UUID(通用唯一标识符)保证在时间和空间上都是唯一的。 UUID长128位,由60位时间值,16位序列号和48位节点标识符组成。 时间值取自系统时钟,并且是单调递增的。 但是,由于可以向后设置系统时钟,因此添加了...
  • 一、java生成唯一uuid 因为生成的uuid有”-”,所以要把它去掉 String uuid = UUID.randomUUID().toString().replaceAll("-", ""); 二、Oracle生成uuid Oracle中生成跨系统的唯一识别符UUID非常方便,比生成序列...

    一、java生成唯一的uuid

    因为生成的uuid有”-”,所以要把它去掉

    String uuid = UUID.randomUUID().toString().replaceAll("-", "");
    

    二、Oracle生成uuid

    Oracle中生成跨系统的唯一识别符UUID非常方便,比生成序列还简单,直接用sys_guid()就行,
    例如

    select  sys_guid()  from  dual 会产生一个跟MAC地址、生成时间相关的一个3216进制的随机数。
    数据类型是 raw(16)32个字符。
    
    展开全文
  • UUID全局唯一标识符

    2015-12-10 10:26:10
    UUID(Universally Unique Identifier)全局唯一标识符,是指在一台机器上生成的数字,它保证对在同一时空中的所有机器都是唯一的。按照开放软件基金会(OSF)制定的标准计算,用到了以太网卡地址、纳秒级时间、芯片ID码...
  • String uuid = UUID.randomUUID().toString().replace("-", “”).toLowerCase();
  • ​ 使用UUID生成 唯一、不重复 的字符串。 import java.util.UUID; public class UUIDUtils { public static String getUUID(){ return UUID.randomUUID().toString().replace("-",""); } } 什么是UUID: ​ ...
  • UUID由以下几部分的组合: (1)当前日期和时间,UUID的第一个部分与时间有关,如果你在生成一个UUID之后,过几秒又...(3)全局唯一的IEEE机器识别号,如果有网卡,从网卡MAC地址获得,没有网卡以其他方式获得。...
  •  UUID: 通用唯一标识符 ( Universally Unique Identifier ), 对于所有的UUID它可以保证在空间和时间上的唯一性. 它是通过MAC地址, 时间戳, 命名空间, 随机数, 伪随机数来保证生成ID的唯一性, 有着固定的大小( 128 ...
  • 为了保证UUID唯一性,规范定义了包括网卡MAC地址、时间戳、名字空间(Namespace)、随机或伪随机数、时序等元素,以及从这些元素生成UUID的算法。UUID的复杂特性在保证了其唯一性的同时,意味着只能由计算机生成。...
  • python 使用uuid设置唯一

    千次阅读 2013-12-31 18:45:57
    最近需要用到一个唯一值,想起了UUID,python2.4.3没有自带这个模块,需要单独安装: 1.下载:去pypi下载tar包 http://pypi.python.org/pypi/uuid/ 直接下载: 2.安装 tar xzvf uuid-1.30.tar.gzcd uuid-1.30sudo ...
  • UUID如何保证唯一性?

    2021-05-24 16:22:23
    UUID如何保证唯一性? - 某文的文章 - 知乎 https://zhuanlan.zhihu.com/p/70375430
  • UUID全球唯一的ID

    千次阅读 2016-01-26 21:04:03
    可以作为主键的、唯一标识的UUID+代码
  • java中用UUID生成唯一标识ID

    千次阅读 2016-09-07 15:21:22
    UUID(Universally Unique Identifier)全局唯一标识符,是指在一台机器上生成的数字,它保证对在同一时空中的所有机器都是唯一的。按照开放软件基金会(OSF)制定的标准计算,用到了以太网卡地址、纳秒级时间、芯片ID码...
  • java.utils.UUID获取唯一识别码

    千次阅读 2019-05-23 14:28:22
    UUID (Universally Unique Identifier)缩写,即通用唯一识别码,也是被开源软件基金会 (Open Software Foundation, OSF)的组织应用在分布式计算环境 (Distributed Computing Environment, DCE) 领域的一部分。...
  • uuid生成16位的,唯一

    热门讨论 2012-12-04 17:33:20
    uuid生成,可生成16个字符的唯一码。使用方法,见main函数
  • UUID 是 通用唯一识别码(Universally Unique Identifier)的缩写,是一种软件建构的标准,亦为开放软件基金会组织在分布式计算环境领域的一部分。其目的,是让分布式系统中的所有元素,都能有唯一的辨识信息,而不...
  • 它可以保证时间和空间的唯一性,也称为GUID,全称为:UUID —— Universally Unique IDentifier,Python 中叫 UUID。 它通过MAC地址、时间戳、命名空间、随机数、伪随机数来保证生成ID的唯一性。 UUID主要有五个...
  • uuid是128位的全局唯一标识符...uuid.uuid1() 基于MAC地址,时间戳,随机数来生成唯一uuid,可以保证全球范围内的唯一性。 uuid.uuid2() 算法与uuid1相同,不同的是把时间戳的前4位置换为POSIX的UID。不过
  • UUID生成唯一标志

    2020-12-20 19:16:34
    UUID.java UUID ...UUID保证对在同一时空中的所有机器都是唯一的。通常平台会提供生成的API。按照开放软件基金会(OSF)制定的标准计算,用到了以太网卡地址、纳秒级时间、芯片ID码和许多可能的数字。 U
  • uuid通用唯一识别码

    2020-12-20 13:45:30
    UUID含义是通用唯一识别码 (Universally Unique Identifier),这 是一个软件建构的标准,也是被开源软件基金会 (Open Software Foundation, OSF) 的组织在分布式计算环境 (Distributed Computing Environment, DCE) ...
  • 【Python】uuid生成唯一ID

    千次阅读 2018-09-19 10:58:55
    uuid是128位的全局唯一标识符(univeral unique identifier),通常用一个32位的字符串的形式来表现。有时也称guid(global unique identifier)。python中自带了uuid模块来进行uuid的生成和管理工作。(python 2.7和...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 37,793
精华内容 15,117
关键字:

uuid如何保证唯一