问题标签 [uuid]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
15 回答
25857 浏览

database - 您对使用 UUID 作为数据库行标识符有何看法,尤其是在 Web 应用程序中?

为了简单和(假设的)速度,我一直更喜欢使用长整数作为数据库中的主键。但是当对对象实例使用REST或类似 Rails 的 URL 方案时,我最终会得到这样的 URL:

然后假设还有 ID 为 782、781、...、2 和 1 的用户。假设有问题的 Web 应用程序足够安全,可以防止人们在未经授权的情况下输入其他号码查看其他用户,a简单的顺序分配的代理键也“泄露”了实例的总数(比这个更早),在这种情况下是用户,这可能是特权信息。(例如,我是 stackoverflow 中的用户 #726。)

UUID / GUID会是更好的解决方案吗?然后我可以像这样设置 URL:

不完全简洁,但显示的有关用户的隐含信息较少。当然,它带有“通过默默无闻的安全”的味道,这不能替代适当的安全性,但它似乎至少更安全一点。

这种好处是否值得为 Web 可寻址对象实例实现 UUID 的成本和复杂性?我认为我仍然想使用整数列作为数据库 PK 来加速连接。

还有 UUID 的数据库内表示的问题。我知道 MySQL 将它们存储为 36 个字符的字符串。Postgres 似乎有更有效的内部表示(128 位?),但我自己没有尝试过。有人对此有经验吗?


更新:对于那些询问仅在 URL 中使用用户名(例如http://example.com/user/yukondude)的人来说,这对于具有唯一名称的对象实例来说工作得很好,但是无数的网络呢?真正只能通过数字识别的应用程序对象?订单、交易、发票、重复的图像名称、stackoverflow 问题……

0 投票
10 回答
98112 浏览

database - GUID/UUID 数据库键的优缺点

我过去曾在许多数据库系统上工作过,如果所有数据库键都是GUID / UUID值,那么在数据库之间移动条目会容易得多。我曾考虑过几次走这条路,但总是有一些不确定性,尤其是在性能和​​无法通过电话读取的 URL 方面。

有没有人在数据库中广泛使用 GUID?这样做我会得到什么好处,可能的陷阱是什么?

0 投票
69 回答
2434008 浏览

javascript - 如何创建 GUID/UUID

我正在尝试在 JavaScript 中创建全局唯一标识符。我不确定所有浏览器上都有哪些例程,内置随机数生成器的“随机性”和播种程度等。

GUID / UUID 应至少为 32 个字符,并且应保持在 ASCII 范围内,以避免在传递它们时出现问题。

0 投票
3 回答
15521 浏览

php - 在 PHP 中生成唯一 ID

我正在尝试在 php 中生成一个唯一 ID,以便将用户上传的内容存储在 FS 上而不会发生冲突。我正在使用 php,目前这个小片段负责生成 UID:

这段代码很可怕:它在 FS 上创建一个临时文件并将其删除,只保留生成字符串的相关唯一部分。

有没有更好的方法来做到这一点,最好没有任何外部依赖?

非常感谢!

0 投票
6 回答
27298 浏览

java - 在 Java 中生成全局唯一标识符

简介:我正在开发一个持久化的 Java Web 应用程序,我需要确保我持久化的所有资源都具有全局唯一标识符,以防止重复。

精美的印刷品:

  1. 我没有使用 RDBMS,所以我没有任何花哨的序列生成器(比如 Oracle 提供的那个)
  2. 我希望它很快,最好全部在内存中 - 我宁愿不必打开文件并增加一些值
  3. 它需要是线程安全的(我预计一次只有一个 JVM 需要生成 ID)
  4. JVM 实例之间需要保持一致性。如果服务器关闭并启动,ID 生成器不应重新生成它在先前实例化中生成的相同 ID(或者至少机会必须非常非常渺茫 - 我预计会有数百万的预置资源)
  5. 我已经看过 EJB 唯一 ID 模式文章中的示例。它们对我不起作用(我宁愿不完全依赖 System.currentTimeMillis() ,因为我们将每毫秒保留多个资源)。
  6. 我已经查看了这个问题中提出的答案。我对他们的担忧是,随着时间的推移,我获得重复 ID 的可能性有多大?我对使用java.util.UUID作为UUID的建议很感兴趣,但同样,重复的机会需要非常小。
  7. 我正在使用JDK6
0 投票
3 回答
4255 浏览

c# - 除了原生 UUID 之外,数据库中 UUID 最有效的数据类型

在没有本机 UUID/GUID 数据类型的数据库中存储 UUID/GUID 的最有效数据类型是什么?2 BIGINT?

将 GUID 转换为该类型以及从 GUID 转换为该类型的最有效代码(首选 C#)是什么?

谢谢。

0 投票
6 回答
269646 浏览

guid - GUID 和 UUID 之间有什么区别吗?

我看到这两个首字母缩写词被抛出,我想知道 GUID 和 UUID 之间是否有任何区别?

0 投票
8 回答
21468 浏览

cocoa - 有没有在 Mac 上生成标准 128 位 GUID (UUID) 的方法?

是否有与 .NET 等效的内置函数

在可可?

我的愿望是产生一个字符串,550e8400-e29b-41d4-a716-446655440000它代表一个唯一标识符。

0 投票
8 回答
47038 浏览

uuid - 什么是 UUID?

那么,什么是一?

0 投票
2 回答
4496 浏览

iphone - 我需要一个 UUID 来为 iPhone 编程吗?

我需要一个 UUID 来为 iPhone 编程吗?有人告诉我我需要这个,我怎样才能获得 UUID