问题标签 [unique-id]

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 投票
8 回答
336437 浏览

python - 如何在 Python 中生成唯一 ID?

我需要根据随机值生成唯一 ID。

0 投票
2 回答
19171 浏览

asp.net - C# asp.net 为什么ClientID和UniqueID有区别?

我知道 ClientID 用于 javascript 和 UniqueId 用于服务器端,并且 ClientID 使用下划线 (_) 而 UniqueId 在 asp.net 2.0 中使用美元符号 ($)。但我不明白为什么要使用两个不同的 id。为什么不能只使用或使用下划线或在两者中使用美元符号:服务器端和客户端。有人可以解释一下吗?

0 投票
3 回答
2142 浏览

java - 你怎么说以这种方式砍类型 4 UUID

检查这个,

这种方法就像魅力一样传递。我的印象是,取最低有效位比取最高有效位要好一些。因为在最高有效位中,您为某些信息固定了 6 位,而最低有效位并非如此。因此,平均而言,我们需要生成 2^29 个 UUID 才能与最高有效位发生冲突,但 2^32 个 UUID 与最低有效位发生冲突。参考:SO 线程我的假设是对的吗?

现在,在这里,我将从该方法中获得的最低有效位中再砍掉 2 个最高有效数字。我正在使用子字符串。请注意,我正在砍掉 2 个数字和一个符号位。这是否意味着现在我们平均需要生成 2^31 个 UUID 才能发生碰撞?

准确地说,我正在尝试生成一个不应超过 17 位长度的唯一标识符。它必须是一个整数,而不是 Java 类型的意义。我的方法有多可靠?

元信息:

实际上,我们正在与一些遗留系统集成,我们必须提供一些不超过 17 位的唯一编号。我假设他们将它作为数据库唯一键。在这种情况下,我们也可以使用序列,我首先提出了这一点。但他们对我说,如果我能想出一个随机数就好了,这样消费者就猜不到了。

据我所知,关于 Java 中 UUID 的 type-4 实现,我们平均需要生成 2^61 个 UUID 才能发生冲突。这是否意味着我们需要生成 2^32 来获得最低有效位的冲突,以及 2^29 来获得最高有效位的冲突?如果是,那么假设我们需要平均生成 2^31 以在切掉 2 个最左边的数字后在最低有效位上发生冲突是不正确的吗?

我也尝试使用SecureRandom,但这也给了我 19 位数的长值。因此,我最终也先将其砍到数位。下面是代码。

yyMMddHHmmssSSS我能想到的另一个选择是以“ +2-seq-digits”格式使用日期。但我想这将完全依赖于处理器,并且可以猜测。因为我不太确定在 99 轮之后我得到了毫秒的变化。也许我会,但这取决于处理器速度。不过,99 个同时请求是不太可能的。

0 投票
5 回答
136525 浏览

javascript - JavaScript 对象 ID

JavaScript 对象/变量是否有某种唯一标识符?像 Ruby 一样object_id。我不是指 DOM id 属性,而是某种内存地址。

0 投票
6 回答
1554 浏览

c++ - 在 C++ 中,如何使用单例来确保每个类都有唯一的整数 ID?

我有一堆 C++ 类。

我希望每个班级都有类似的东西:

同一类的所有实例都应具有相同的 unique_id;不同的类应该有不同的unique_id。

执行此操作的最简单方法似乎是通过类将单例线程化。

但是,我不知道什么时候调用静态类成员/在 main 之前发生的事情。

(1) 如果您有一个不涉及使用单例的解决方案,那也没关系

(2) 如果您有一个解决方案,可以给我:

那也很好。

谢谢!

0 投票
2 回答
1740 浏览

c++ - 使用函数地址的模板类的唯一数字 ID

所以,这个问题之前已经被问过,但我想要一个标题中有一些关键词的问题。

问题很简单:我怎样才能有一个模板类,这样对于模板的每个实例——但不是类的每个实例——都有一个唯一的数字标识符?

也就是说,一种区分方法:

但,

相关:

在 C++ 中,如何使用单例来确保每个类都有唯一的整数 ID?

为模板类的实例分配唯一的数字标识符

0 投票
1 回答
1951 浏览

asp.net - 动态 Gridview 模板和唯一控件(即文本框、标签)ID?

在设计时创建 Gridview 时,您可以像这样创建模板列:

在 HTML 中,它会给它一个唯一的名称,例如:

然后我可以在后面的代码中引用这个标签:

这是完美的。但是当我动态创建 TemplateFields 时,我无法弄清楚如何做到这一点。我的“InstantiateIn”中有以下代码:

这确实会在每一行中创建一个 ID 为 hHidden 的隐藏控件。但它并没有给它像“gvSelect_ctl02_hHidden”这样的唯一ID,它只是“hHidden”。而且我知道有办法自己将行号附加到它上面。但我想知道是否有办法让它自动执行此操作。并且仍然允许我引用隐藏字段,例如:

0 投票
4 回答
31790 浏览

php - 为什么 PHP 的 uniqid 函数只返回 13 位而不是 14?

uniqid()函数返回一个 13 位长的十六进制数。根据php.net site 中的规范,该函数用于microtime生成唯一值。

microtime以字符串格式返回数字,如下所示:

这基本上是自 1970 年以来经过的微秒和秒数。这是一个 9+11 位的十进制数。

将 20 位十进制数字转换为十六进制将导致16 位十六进制而不是 13 位数字。

我也想过要去掉“0”。似乎永远不会改变的部分,以及似乎始终保持“00”的微秒部分的最后两位数字。这样做,十进制数只有 9+11-3 位长,但仍然是 17 位的十进制数在转换为十六进制时会导致 14 位十六进制数不是 13。

我对以其他方式获得唯一 ID 或更长/更短的唯一 ID 不感兴趣!我只问是否有人知道为什么 uniqid 只返回 13 位数字。

这似乎是胡说八道:如果uniqid返回比 少一位microtime,这意味着microtime给出的结果比 .返回的结果更独特uniqid

0 投票
2 回答
14580 浏览

java - SQL(Java,h2):检索我刚刚插入数据库的单个项目的唯一 ID 的最佳方法是什么?

我目前的方法是这样的:

这假定最新插入的项目始终具有最高的唯一 ID(主键、自动递增)。这里有什么不对劲。

备择方案?

0 投票
1 回答
1821 浏览

c# - 按照 C# 中的“digitStringDigit”等特定模式生成唯一 ID

我之前通过使用 Math.Rando 方法或有时使用 GUID.NewGUID 方法生成了唯一 ID。这次我试图生成一个基于特定模式的唯一数字。

例如 123ABC123 - 数字的长度将始终保持为 9,它将包含 3 个数字,后跟三个字符,然后再跟三个数字。