UUID 的 5 个版本

这篇具有很好参考价值的文章主要介绍了UUID 的 5 个版本。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

UUID 的全称是 Universally Unique Identifier,中文为通用唯一识别码

在对 UUID 进行说明之前,我们来看一个标准的 UUID。

下面就是一个标准的 UUID,使用横杠分隔符来进行分隔:

123e4567-e89b-42d3-a456-556642440000
xxxxxxxx-xxxx-Mxxx-Nxxx-xxxxxxxxxxxx

UUID 的 5 个版本,java

UUID 结构有关版本的定义

在结构中的 M,定义了 UUID 的版本,UUID 的 5 个版本就是在这里进行定义的。

Version 1 (基于时间)

这个版本是基于随机数的,使用的基数为每 100 纳秒为一个单位,时间的起点为1582年10月15日。同时还需要加上当前计算机的网卡物理地址(MAC)。

Version 2 (DCE – 分布式计算机环境):

UUID-v2 和V1 很类似,是根据标识符(通常是组或用户ID )、时间和节点ID 生成,不过区别在于V2 将V1 中的部分时间信息换成了主机名, 故应用具有局限性(有隐私风险),未大规模使用。

Version 3 (基于命名)

UUID-v3 通过散列(MD5 )名字空间(namespace )标识符和名称生成。和V1 、V2 不同,V3 不依赖与机器信息和时间信息, 但是V3 要求输入命名空间+名称,命名空间本身也是一个UUID ,用来标识应用环境,名称通常是用户账号、用户名之类的内容,通过命名空间+名称+三列算法算出UUID 。

Version 4 (基于随机数)

UUID-v4 组成 UUID v4 的位是随机生成的,没有固有逻辑(除了第三段首个数字,该数字标识版本号),不包含命名空间、设备信息、时间信息。 故,UUID-v4 最容易理解、应用也最为广泛。

Version 5 (基于使用 SHA-1 的命名)

UUID-v5 和V3 类似,区别在于散列算法,使用了sha1 散列算法。
可以认为 UUIDv5 就是为了强化 UUIDv3 出现的问题而使用新的哈希算法。

UUID 的 5 个版本 - Java - iSharkFly文章来源地址https://www.toymoban.com/news/detail-745294.html

到了这里,关于UUID 的 5 个版本的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • golang uuid库介绍

    简介: 在现代软件开发中,全球唯一标识符(UUID)在许多场景中发挥着重要的作用。UUID是一种128位的唯一标识符,它能够保证在全球范围内不重复。在Go语言中,我们可以使用第三方库 github.com/google/uuid 来方便地生成UUID。本文将介绍如何使用这个库来生成不同版本的UUID,以

    2024年02月16日
    浏览(45)
  • python 生成 uuid

    Python 中可以使用内置的 uuid 模块来生成 UUID。 示例代码如下: 运行结果类似于: 需要注意的是,UUID 的格式为 8 个十六进制数字,分别用 - 分隔,每 4 个十六进制数字为一组。 在 Python 中,UUID 被表示为一个带有四个属性的对象: hex , int , bytes 和 urn 。您可以使用这些属性来

    2024年02月09日
    浏览(37)
  • Vue前端生成UUID

    当使用Vue.js生成UUID时,我们可以使用 uuid 库来帮助我们生成通用唯一标识符(UUID)。UUID是一个128位的唯一标识符,它可以用于唯一标识对象、实体或数据。 以下是在Vue.js中生成UUID的详细步骤: 首先,需要安装 uuid 库。你可以使用 npm 或 yarn 来完成安装。在终端中执行以下

    2024年02月11日
    浏览(33)
  • 阿里云-云盘修改UUID

    目录 概述 确定磁盘设备名 修改磁盘UUID 报错解决 如果使用快照创建云盘后挂载到原Linux实例,新创建云盘的UUID会和原云盘冲突。或者同一个快照创建多块磁盘挂载到同一台机器,多块盘的UUI会冲突。 本文介绍如何修改新云盘的UUID。大多数场景下文件系统为xfs,所以本文适

    2024年02月12日
    浏览(38)
  • 详解:MySQL自增ID与UUID的优缺点及选择建议,MySQL有序uuid与自定义函数实现

    主键页以近乎顺序的方式填写,提升了页的利用率 索引更加紧凑,性能更好查询时数据访问更快 节省空间 连续增长的值能避免 b+ 树频繁合并和分裂 简单易懂,几乎所有数据库都支持自增类型,只是实现上各自有所不同而已 可靠性不高 存在 自增ID回溯 的问题,这个问题直

    2023年04月13日
    浏览(43)
  • UUID的弊端以及雪花算法

    前言 问题 一般通用解决方案 雪花算法 系统唯一ID是我们在设计一个系统的时候常常会遇见的问题,也常常为这个问题而纠结。 这篇文章就是给各位看官提供一个生成分布式唯一全局id生成方案的思路,希望能帮助到大家。 不足之处,请多多指教!! 基于 Spring Boot + MyBatis

    2024年02月07日
    浏览(81)
  • 蓝牙设备如何自定义UUID

    所有 BLE 自定义服务和特性必须使用 128 位 UUID 来识别,并且要确保基本 UUID 与 BLE 定义的基本 UUID(00000000-0000-1000-8000-00805F9B34FB)不一样。基本 UUID 是一个 128 位的数值,根据该值可定义标准UUID(16 位和 32 位)。 BLE 规范未定义生成 BLE 服务和特性的自定义 UUID 的方式。用户会

    2024年02月09日
    浏览(35)
  • Excel生成不重复的UUID

    第一步:在单元格中使用函数 第二步:下拉批量生成 生成函数如下: =CONCATENATE(DEC2HEX(RANDBETWEEN(0,4294967295),8),DEC2HEX(RANDBETWEEN(0,42949),4),,DEC2HEX(RANDBETWEEN(0,42949),4),DEC2HEX(RANDBETWEEN(0,42949),4),DEC2HEX(RANDBETWEEN(0,4294967295),8),DEC2HEX(RANDBETWEEN(0,42949),4))

    2024年02月22日
    浏览(28)
  • Linux如何查看磁盘的UUID

    UUID 是 通用唯一识别码(Universally Unique Identifier)的缩写,是一种软件建构的标准, 开放软件基金会 组织在分布式计算环境领域的一部分。在Linux系统中,它可以帮助 Linux 系统识别一个磁盘分区而不是块设备文件。 Linux自内核 2.15.1 起,libuuid 就是 util-linux-ng 包中的一部分,

    2024年02月01日
    浏览(31)
  • 深度解读UUID:结构、原理以及生成机制

    UUID (Universally Unique IDentifier) 通用唯一识别码 ,也称为 GUID (Globally Unique IDentifier) 全球唯一标识符。 UUID是一个长度为128位的标志符,能够在时间和空间上确保其唯一性。UUID最初应用于Apollo网络计算系统,随后在Open Software Foundation(OSF)的分布式计算环境(DCE)中得到应用。可

    2024年03月21日
    浏览(39)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包