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 有多独特? 的相关文章

  • 在 Linux 上获取机器 ID 的最佳方法?

    获取唯一机器 ID 的最佳实践方法是什么GNU Linux for i386建筑学 除了这个还有什么好的办法吗mac地址 根据您的内核 DMI 信息可能可以通过 sysfs 获得 尝试一下 cat sys class dmi id boar
  • 如何生成随机 Base36 ID

    有没有办法生成random Base36 标识符 http en wikipedia org wiki Base 36在 SQL Server 中是否有定义的字符数 我搜索并找到了许多将基数 36 转换为 int 的示例 反之亦然 但没有找
  • AppStore 提交被拒绝 - 应用程序不允许使用 UDID

    我正在尝试将应用程序上传到 AppStore 但上传后我收到此错误 您的应用程序包含非公共 API 使用 请检查错误并更正它们 然后重新提交您的应用 应用程序不允许使用UDID 也不能使用UIDevice的唯一标识方式 请更新您的应用程序的
  • .NET 中的引导字节顺序

    我正在创建一个像这样的GUID Guid g new Guid new byte 0 1 2 3 4 5 6 7 8 9 0xA 0xB 0xC 0xD 0xE 0xF Console WriteLine g 这输出 03020100 05
  • c#.NET USB设备持久标识符

    我正在寻找一种在 C 中为 USB 插槽 更具体地说是 SD 卡读卡器 提供持久标识符 在最终用户拔下集线器 重新启动计算机时 的方法 驱动器号并不总是分配给同一个插槽 但我需要一种方法来物理识别插槽 A 一旦我能够识别它 我就可以连接到驱
  • SQL Server 中 COMB GUID 处的时间戳为 8 个字节或时间戳为 6 个字节

    感谢精彩的文章 我们有 COMB GUID 根据目前的实施情况 有两种方法 使用最后 6 个字节作为时间戳 GUID作为多个数据库下的快速主键 http www codeproject com Articles 388157 GUIDs a
  • 如何确定实际物理网卡的 MAC 地址——而不是 VPN 创建的虚拟网络接口 (.NET C#)

    背景 我正在尝试从计算机中获取唯一标识符 并且希望每次都能可靠地返回相同的 MAC 地址 相信我 我有使用 MAC 地址的理由 并且阅读了许多关于替代唯一 id 方法的帖子 是的 我考虑过他们是否没有任何网卡 Problem 问题出在 NE
  • 如何将目录路径转换为唯一的数字标识符 (Linux/C++)?

    我正在研究获取目录 文件夹 并派生某种形式的唯一数字标识符的方法 我研究了 字符串到哈希 方法 但是 鸽子洞原理 http www codinghorror com blog 2007 12 hashtables pigeonholes a
  • 如何在 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
  • 使用 GUID 作为 ASP.NET MVC 数据库中的 ID

    我正在学习 ASP NET MVC 我正在关注有关的基本教程之一asp net http www asp net mvc whatisaspmvc 由于我并不总是严格遵循教程 因此我决定使用 GUID 作为标识列而不是整数 一切都工作正常
  • NFC标签唯一ID

    我正在开发一个包括 NFC 标签和 Android 手机的系统 使用 NFC 标签的唯一 ID 但不知道4种NFC标签之间有什么区别 我发现了这个 兼容 NFC 的标签可以采用以下技术 标准 他们每个人都有不同的 ID 概念 NFC Tag
  • 如何在 Oracle 上生成版本 4(随机)UUID?

    该博客解释说 输出sys guid 对于每个系统来说不是随机的 http feuerthoughts blogspot de 2006 02 watch out for sequential oracle guids html http f
  • 如何将两个long转换为字节数组=如何将UUID转换为字节数组?

    我正在使用 JavaScriptUUID并且需要将 UUID 转换为字节数组 奇怪的是 UUID 类不提供 toBytes method 我已经了解了这两种方法 UUID getMostSignificantBits and UUID ge
  • 在 org.apache.spark.sql.types.DataTypes 中找不到 uuid

    我们有一个 PostgreSQL 表 其中 UUID 作为列之一 我们如何将 Spark 数据集中的 UUID 字段 使用 Java 发送到 PostgreSQL DB 我们无法在 org apache spark sql types Da
  • DLL 中的 GUID (.Net)

    我在这方面不是很有经验 所以我有几个问题 首先 所有 Net 创建的 DLL 是否都有自己的 GUID 如果没有 我的问题是如何获得一个并将其与 DLL 关联 那么问题是 我如何获得该 dll 的 GUID 即 给定 DLL 路径 c so
  • 在django中使用uuid查询对象

    我正在使用 uuid 创建一个 id 字段 该字段是主键 如下所示 import uuid class User Profile models Model id models UUIDField primary key True defau
  • Ruby 中 SecureRandom.urlsafe_base64(8) 的碰撞概率?

    我在用SecureRandom urlsafe base64 8 为了在我的系统中创建 URL 安全的唯一 ID 我想知道如何计算碰撞概率 我将大约 10 000 个这些 id 插入到一个数组中 我想避免检查其中一个键是否已经在数组中 但我
  • 存储 MySQL GUID/UUID

    这是我能想到的将 UUID 生成的 MySQL GUID UUID 转换为二进制文件 16 的最佳方法 UNHEX REPLACE UUID 然后将其存储在 BINARY 16 中 我应该知道这样做有什么影响吗 从 MySQL 8 0 及以
  • Hibernate UserType 和定义的长度

    我有一个休眠用户类型 如下所示 public class UUIDHibernateType implements UserType private static final int SQL TYPES new int Types CHAR
  • EF 中的 GUID COMB 策略

    有没有办法使用 CodeFirst 设计为新的 Entity Framework 4 1 中的对象实现 Guid COMB 身份策略 我想设置StoreGeneratedPattern可以 但它仍然给我正常的 GUID 为什么要担心数据库中

随机推荐

  • 使用 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