UUID 有多独特?

2023-11-27

使用 UUID 唯一标识某些内容(我将其用于上传到服务器的文件)有多安全?据我了解,它是基于随机数的。然而,在我看来,只要有足够的时间,它最终会重演,纯粹是偶然。是否有更好的系统或某种类型的模式来缓解这个问题?


非常安全:

the annual risk of a given person being hit by a meteorite is estimated to be one chance in 17 billion, which means the probability is about 0.00000000006 (6 × 10−11), equivalent to the odds of creating a few tens of trillions of UUIDs in a year and having one duplicate. In other words, only after generating 1 billion UUIDs every second for the next 100 years, the probability of creating just one duplicate would be about 50%.

Caveat:

但是,这些概率仅在生成 UUID 时才成立 使用足够的熵。否则重复的概率 可能会明显更高,因为统计离散度可能 更低。分布式需要唯一标识符的地方 应用程序,这样即使数据来自多个应用程序,UUID 也不会发生冲突 设备被合并,所使用的种子和生成器的随机性 每个设备都必须在应用程序的整个生命周期内保持可靠。在哪里 这是不可行的,RFC4122 建议使用命名空间变体 反而。

资料来源:重复的随机 UUID 概率 section维基百科关于通用唯一标识符的文章的内容(链接指向 2016 年 12 月的修订版,然后再编辑该部分)。

另请参阅同一篇通用唯一标识符文章中有关同一主题的当前部分,碰撞.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

UUID 有多独特? 的相关文章

  • 如何在不使用登录系统的情况下识别唯一用户(iOS)

    我需要一种方法来识别我的应用程序的用户 但没有登录系统 我研究了 UUID 它为我的问题提供了部分答案 但由于它不是真正的 UDID 因此它不是 真正唯一的 如果用户重新安装应用程序 他会获得一个新的 UUID 这可以 不为我工作 有什么方
  • 构造函数中具有实例名称知识的 Matlab 类

    我想要一个类 在其构造函数中可以了解其实例名称 提取为字符串 目前 我像这样提取名称 classdef mysession methods Access public function this mysession varargin thi
  • 如何生成随机 Base36 ID

    有没有办法生成random Base36 标识符 http en wikipedia org wiki Base 36在 SQL Server 中是否有定义的字符数 我搜索并找到了许多将基数 36 转换为 int 的示例 反之亦然 但没有找
  • 有没有一个工具可以检测重复的接口 GUID?

    这是一个典型的复制粘贴错误 如果复制粘贴某些包含带有 GUID 的接口声明的 Delphi 代码 Delphi 将不会抱怨并编译在不同位置重复使用相同 GUID 的代码 支持 功能基于 GUID 与接口配合使用 因此可能会出现错误 是否有可
  • 如何以编程方式获取 Linux 中设备/分区的 uuid?

    我对 Linux 编程非常陌生 我的问题是 有没有办法以编程方式读取 Linux 中设备或分区的 UUID 是否有用于用户空间应用程序的 C C API 我发现了一些命令sudo vol id uuid dev sda1 sudo blki
  • ruby base64 通过以 2 位字符开头来编码 128 位数字,以防止末尾填充

    这个问题是我之前问题的后续 如何在 Ruby 中使用自定义字符集将 UUID 转换为字符串 https stackoverflow com questions 47803212 how can i convert a uuid to a s
  • 将唯一 ID 实现为 UUID 并将其保存在 Keychain 中

    我的应用程序中需要唯一 ID 我知道 我们不能再使用 UDID 因此根据我的研究 使用 UUID 作为设备唯一 ID 并将其保存在钥匙串中将确保即使用户重新安装我的应用程序 唯一 ID 仍保持不变 我从 stackoverflow 上类似问
  • 加密安全随机数生成器生成相同 uuid 的几率是否足够小,以至于您不需要检查唯一性?

    我在用着this https nodejs org api crypto html crypto crypto randombytes size callbackuuid 的长度为 20 如果生成的 uuid 用于持久唯一值 通常的做法是不
  • C++ 中独立于平台的 GUID 生成?

    在 C 中以编程方式生成 GUID 或 UUID 而不依赖于特定于平台的工具的最佳方法是什么 我正在尝试为模拟中的对象创建唯一标识符 但不能依赖 Microsoft 的实现 因为该项目是跨平台的 Notes 由于这是针对模拟器的 所以我 并
  • 使用 MySQL 时,在 NHibernate 中使用 Guid 作为 Id 列会导致格式异常

    当我定义 NHibernate 实体 映射以使用 Guid 作为标识列时 我收到一个异常 Guid 列生成为 varchar 40 但内容似乎是二进制的 有针对这个的解决方法吗 目前我只使用普通的 ol int 但如果知道对于未来的项目会很
  • c#.NET USB设备持久标识符

    我正在寻找一种在 C 中为 USB 插槽 更具体地说是 SD 卡读卡器 提供持久标识符 在最终用户拔下集线器 重新启动计算机时 的方法 驱动器号并不总是分配给同一个插槽 但我需要一种方法来物理识别插槽 A 一旦我能够识别它 我就可以连接到驱
  • 如何在 powershell 中转义大括号 {...}?

    我需要生成多行 xml 标记 其中包含 GUID
  • 提高聚簇索引 GUID 主键的性能

    我有一个包含大量行 10K 的表 它的主键是 GUID 主键是聚集的 该表的查询性能相当低 请提供建议以提高效率 GUID 上的聚集索引不是一个好的设计 GUID 的本质在于它是随机的 而聚集索引则通过键对记录进行物理排序 这两件事是完全矛
  • 如何在 Python 中创建 GUID/UUID

    如何在 Python 中创建独立于平台的 GUID UUID 我听说有一种在 Windows 上使用 ActivePython 的方法 但它只是 Windows 因为它使用 COM 有没有使用普通Python的方法 The uuid模块 h
  • 如何在 Ubuntu 10.04 上使用 PostgreSQL 8.4.4 生成 uuid?

    我正在 Ubuntu 10 04 上运行 PostgreSQL 8 4 4 我正在尝试生成 uuid 但找不到方法 我确实有 uuid ossp sql usr share postgresql 8 4 contrib uuid ossp
  • UUID 作为 MySQL id 列的默认值

    我正在尝试向 MySql 8 0 17 中的现有表添加一列 该列需要包含 UUID 我正在尝试将其设置为默认值 这是我正在执行的语句 ALTER TABLE myTable ADD COLUMN UUID varchar 36 NOT NU
  • 如何在我的 heroku 应用程序上安装软件包?

    我有一个使用 Shortuuid 的应用程序 https pypi python org pypi shortuuid 0 1 https pypi python org pypi shortuuid 0 1 当我使用 runapp py
  • 如何在 SQL Server 2008 中使用 GUID 数据类型?

    我想使用建立一个员工表SQL SERVER 2008 在我的表中 我希望为每个员工提供一个 ID 我听说过GUID我有点明白它是一种数据类型 但我无法使用它 你能告诉我使用它的方法吗 顺便说一句 假设我想要这样的东西 CREATE TABL
  • Wix 为整个树生成单个组件 id

    我是一个几乎没有 wix 经验的人 我正在努力支持 Windows 以及我负责的组件 我正在尝试为我的产品生成的一组文件创建合并模块 这些文件存在于许多子目录中 我想知道如何为整个树中的所有文件创建一个组件 ID 我不担心小的升级 因为那是
  • Laravel - 覆盖模型 ID

    我正在开发电子书管理系统 我使用 UUID 而不是自动递增整数主键 它工作得很好 protected static function boot parent boot static creating function model model

随机推荐

  • 使用 JavaScript 或 jQuery 检测 Mac OS X 或 Windows 计算机的最佳方法

    因此 当用户使用 Mac 时 我尝试将 关闭 按钮移至左侧 而当用户使用 PC 时 将 关闭 按钮移至右侧 现在我通过检查用户代理来做到这一点 但它很容易被欺骗 无法进行可靠的操作系统检测 有没有可靠的方法来检测浏览器运行的操作系统是Mac
  • removeCallbacks 不停止可运行

    我从一个方法调用 myHandler postDelayed mMyRunnableHide 6000 其中调用 public Runnable mMyRunnableHide new Runnable public void run mT
  • ng-bootstrap - Typeahead 下拉宽度

    我开始使用 ng bootstrap Typeahead 组件 我对此非常满意 我想要实现的一件事是让下拉项具有与输入字段相同的宽度 而默认行为根据文本长度应用宽度 应该是基本的CSS 我创建了一个基本的Example在普朗克 正如您所注意
  • iOS 设备和模拟器的构建实际上有何不同?

    既然iOS模拟器是模拟器 为什么我需要专门为其构建呢 模拟器的重点不在于它运行real某种虚拟机 沙箱中的代码 那么 设备 模拟器构建方式的实际差异是什么 以及生成的应用程序有何不同 An application running nativ
  • Bouncy Castle scrypt 实现

    我目前正在使用以下方法实现密码哈希scrypt 我已经找到了一个不错的scryptGitHub 上的实现 令我惊讶的是我还发现了一个scryptBouncy Castle 库中的实施 该类没有记录 维基百科没有提到 Bouncy Castl
  • 64位和32位进程互通 boost::message_queue

    各位 美好的一天 我目前正在尝试找到一种在 64 位进程和 32 位进程之间传递数据的方法 由于它是一个实时应用程序并且两者都在同一台计算机上运行 因此我很难使用共享内存 shm 当我在寻找一些使用 shm 的同步机制时 我对 boost
  • Android:使用UIL和TouchImageView不显示ImageView

    我正在尝试从以下位置实现加载图像URL with Universal Image Loader and zoom with TouchImageView Mike Ortiz 但当尝试查看图像时 黑屏被展示 我已经检查过 URL 是否正确
  • Seaborn ImportError:DLL 加载失败:找不到指定的模块

    我收到 ImportError DLL 加载失败 找不到指定的模块 导入模块时seaborn 我尝试卸载seaborn和matplotlib 然后使用重新安装 pip install seaborn 但没有运气 我仍然遇到同样的错误 Imp
  • ora-06553 pls-306 调用“ogc_x”时参数数量或类型错误

    我正在尝试在 oracle 10g 中进行查询 事情是这样的 SELECT FROM h2h reg reg h2h cat estatus est WHERE reg FECH APLICACION SYSDATE AND REG ID
  • 使用 Hibernate Validator (JSR 303) 进行跨领域验证

    Hibernate Validator 4 x 中是否有跨字段验证的实现 或第三方实现 如果不是 那么实现跨字段验证器的最简洁方法是什么 例如 如何使用 API 来验证两个 bean 属性是否相等 例如验证密码字段与密码验证字段是否匹配 在
  • Jquery UI 可拖动不会调整其他 DIV 的大小

    在这嘭嘭嘭我有三个DIVs 除以另外两个DIV可拖动的 灰色 当可拖动时DIVs 向上 向下或向左 向右拖动 其他DIVs 应该调整大小 第一个可拖动 DIV 工作正常 左侧的 DIV 可以垂直调整其他 DIV 的大小 但第二个可拖动DIV
  • 如何在 SQL Server 非标准架构表上使用 dplyr tbl

    我的问题是我该如何使用dplyr函数 例如tbl 在不使用默认 dbo 架构的 SQL Server 表上 为了获得更多上下文 我尝试将此处给出的 R 数据库示例应用到我自己的表中 https db rstudio com 向下滚动到标题为
  • git Remote prune、git prune、git fetch --prune 等有什么区别

    我的情况是这样的 在同一个存储库上工作的人已经从他的本地和远程存储库中删除了一个分支 大多数在 Stack Overflow 或其他网站上询问此类问题的人都会遇到分支问题仍然显示在远程跟踪分支列表中的问题git branch a在底部 ma
  • 按 IN 序列对 MySQL 结果排序?

    当我使用 IN 从表中选择一组行时 例如 SELECT x y x z FROM x WHERE x id IN 23 55 44 12 有没有 SQL 技巧可以让它们按照 IN 集中给定的顺序返回 因此 在示例中 假设 x 具有 id 为
  • 垂直居中响应式 iframe

    我正在使用该技术此处描述使 iframe 视频 响应 本质上 iframe 绝对定位在宽度为 100 的包装元素内 包装元素根据视频的宽高比设置填充 embed responsive position relative video heig
  • $ 在 Haskell 中意味着什么/做什么?

    当您编写稍微复杂的函数时 我注意到 用得很多 但我不知道它的作用是什么 是中缀 应用程序 它定义为 a gt b gt a gt b f x f x or f x f x or id 它对于避免额外的括号很有用 f g x f g x 它的
  • 检查字符串是否是字符串列表中的子字符串的最快方法

    我有一个包含 4000 个不同名字的静态列表 因此列表的长度很大 4000 但每个字符串大约有 4 到 12 个字符 它们是名字 然后 我有一个从数据库检索到的 10000 个字符串的动态列表 这些字符串可能具有任意长度 我需要针对 100
  • 为什么 Window.FindName() 没有发现子 UserControl 中按钮的 x:Name?又名名称范围如何工作?

    因此 在下面的示例代码中 我创建了一个 UserControl UserControldChild 它是主窗口 Window1 xaml 的子窗口 为什么FindName 方法在下面的代码中找不到 myButton 这一定与WPF XAML
  • 在 Rails 应用程序中记录 RestClient

    我想调试我的 Rails 应用程序发出的请求休息客户端 RestClient 文档说 要启用日志记录 您可以 使用 ruby Logger 设置 RestClient log 或者设置一个环境变量以避免修改代码 在这种情况下 您可以使用文件
  • UUID 有多独特?

    使用 UUID 唯一标识某些内容 我将其用于上传到服务器的文件 有多安全 据我了解 它是基于随机数的 然而 在我看来 只要有足够的时间 它最终会重演 纯粹是偶然 是否有更好的系统或某种类型的模式来缓解这个问题 非常安全 the annual