问题标签 [uniqueidentifier]

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 回答
108673 浏览

windows - 生成唯一的机器 ID

我需要编写一个函数来生成一个对于运行 Windows 操作系统的给定机器唯一的 id。

目前,我正在使用 WMI 查询各种硬件参数并将它们连接在一起并散列它们以派生唯一 id。我的问题是,我应该使用哪些建议参数?目前,我正在使用 bios\cpu\disk 数据的组合来生成唯一 ID。如果每个指标都有多个结果,我将使用第一个结果。

但是,我遇到了一个问题,即双启动到 2 个不同 Windows 操作系统的机器在每个操作系统上生成不同的站点代码,这在理想情况下不应该发生。

作为参考,这些是我目前使用的指标:

0 投票
2 回答
1227 浏览

sql - MS SQL的PK中顺序唯一标识符的目的是什么?

我知道基于 Guid 的主键没有最好的性能(由于碎片),但它们是全局唯一的并且允许复制场景。

另一方面,整体标识符以可伸缩性为代价具有更高的性能。

但是在什么情况下有人会想要使用顺序唯一标识符作为主键呢?我认为,它超出了 GUID 的目的,但我仍然不时看到提及后续事件。

我在这里想念什么?

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 投票
6 回答
594 浏览

unicode - 在标识符中使用 unicode 有哪些经验

如今,越来越多的语言使用 unicode,这是一件好事。但这也带来了危险。过去很难区分 1 和 l 以及 0 和 O。但现在我们有了全新的相似字符范围。

例如:

有了这些,创建一些很难找到的错误并不难。

在我的工作中,我们决定使用 ANSI 字符作为标识符。有没有人使用 unicode 标识符,有什么经验?

0 投票
16 回答
81332 浏览

php - php中的简短唯一ID

我想创建一个唯一的 id,但uniqid()正在提供类似'492607b0ee414'. 我想要的是类似于 tinyurl 给出的东西:'64k8ra'。越短越好。唯一的要求是它不应该有一个明显的顺序,并且它应该看起来比看似随机的数字序列更漂亮。字母优于数字,理想情况下不会大小写混合。由于条目的数量不会那么多(最多 10000 个左右),因此碰撞的风险并不是一个很大的因素。

任何建议表示赞赏。

0 投票
15 回答
48051 浏览

linux - 从类 Unix 系统中获取唯一 ID

我想从任何类 Unix 系统(如果可能的话)获得一个唯一的 id,每次我的应用程序在同一台机器上运行时都会保持不变。如果可能的话,我想从 Linux 或 FreeBSD 或 Solaris 等获取相同的 id...来自操作系统,我不喜欢使用 MAC 地址之类的东西。

如果没有其他可用选项,我可以将 MAC 与其他内容结合使用,例如 id 可以是 MAC 地址和其他内容组合的 md5 哈希。

我想听听你的建议。

如果有用,我的应用程序是用 C/C++ 编写的。

所有这些的目的是防止用户运行我的应用程序两次或更多次。我只想跑一次。

0 投票
8 回答
8592 浏览

database - 检索记录的唯一标识符键值

在 SQL Server 2005 的上下文中,我有一个表,其主键是唯一标识符 (GUID),默认值由 newid() 函数生成。我想编写一个将新记录插入表中的存储过程。如何获取记录的PK值?对于身份声明的字段,这很容易——我调用 scope_identity()。我应该如何继续使用指南?

谢谢,卢锡安

0 投票
7 回答
7074 浏览

language-agnostic - 生成唯一参考编号策略

嗯……这就是我的 CS 知识让我失望的地方。我想编写一个生成唯一参考号的算法。

我不想使用序列号,因为它们会带来安全风险,我想使用字母数字。ref 也将具有最小和最大长度。(我不能使用 GUID 它太长了)

理想情况下,我不想查询我的持久层以查看以前是否使用过 ref。

我可以采用什么策略?

0 投票
3 回答
7547 浏览

.net - 在 log4net 中使用 uniqueidentifiers/guids 作为自定义属性

我正在尝试添加一个自定义属性,它是一个 guid,但它给了我这个错误:

System.InvalidCastException:无法将参数值从字符串转换为 Guid。---> System.InvalidCastException:从“System.String”到“System.Guid”的无效转换。

我在配置中指定:

我使用的实际代码(片段)是这样的:

请问有什么帮助吗?:) 数据库中的 id 字段被定义为唯一标识符 NOT NULL,但它没有主键约束。

0 投票
5 回答
5742 浏览

sql-server - 在VBScript中将字符串转换为uniqueidentifier

我有一个在我的 SQL 服务器数据库中运行存储过程的脚本,问题是存储过程需要一个 uniqueidentifier 参数。我有一个从数据库中获取会话 id 的函数(它是一个 nvarchar),因此 VBScript 将其设为字符串,我需要将其转换为将其传递给存储过程。

当我尝试执行存储过程时,我得到“强制转换规范的无效字符值”。

我无法更改数据库中的任何内容,因此我需要一种方法来在我的脚本中克服这个问题。