问题标签 [guid]

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 投票
12 回答
14250 浏览

security - 是否使用 GUID 安全性虽然默默无闻?

如果您使用 GUID 作为面向公众的应用程序的密码作为访问服务的一种方式,这种安全性是通过默默无闻实现的吗?

我认为显而易见的答案是肯定的,但安全级别对我来说似乎非常高,因为猜测 GUID 的机会非常低,正确吗?

更新

GUID 将存储在设备中,插入后,将通过 SSL 连接通过 GUID 发送。

也许我可以生成一个 GUID,然后在 GUID 上执行 AES 128 位加密并将该值存储在设备上?

0 投票
2 回答
2114 浏览

.net - 散列一组 GUID 的最快方法

我有一个 n 个 GUID 的列表,我需要将它们散列成一个值。该值可以是 Guid 对象的大小或 Int32 的大小,这并不重要,但它确实需要在统计上是唯一的(比如可能类似于 MD5)。

因此,一种方法可能是对它们进行排序,连接字节并获取所有字节的 MD5 哈希......但这不是很快。

另一个想法:我注意到在 .NET 中将组合对象的 GetHashCode 方法实现为组合对象的哈希码的 XOR 是相当标准的做法。因此,对我的 GUID 列表进行异或运算在数学上是否合理?

欢迎任何想法!

0 投票
8 回答
21468 浏览

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

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

在可可?

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

0 投票
4 回答
8904 浏览

delphi - 如何从 Delphi 将 GUID 设置为 ADO 查询参数?

MS Access 允许在数据库中存储为 16 字节二进制字段的数字类型 GUID(在德语中称为“Replikations-ID”,所以我猜在英语中将是“replication id”)。

我发现如何使用 TADOQuery / TADOTable 在 Delphi中访问这些字段

但现在我想执行这样的 SQL 查询:

我尝试为上述语句设置一个TADOQuery.SQL属性,但没有找到实际设置AGuid参数以便可以打开查询的方法。无论我尝试什么都会导致(ADO/COM)错误

没有为一个或多个必需参数指定值

例如:

这也不起作用:

我查看了TGuidField(...).AsGuid它的工作原理,发现它首先将 GUID 转换为字符串,然后将字符串转换为变体(反之亦然)。

如果我总是像这样生成 SQL 语句,它工作正常:

当我在程序中传递该TADOQuery对象时,我只想更改AGuid-Parameter 以使大多数方法与实际的 SQL 语句无关。

除了总是更改完整的 SQL 语句之外,还有其他方法可以设置 GUID 参数吗?

(它必须是一个 GUID,因为我需要一个全局唯一标识符来与基于 MS SQL 或 MS Access 的其他数据库同步。)

编辑 vradmilovic 是对的,这有效:

我不明白为什么我第一次尝试它时它不起作用。

0 投票
7 回答
17634 浏览

c# - Guid.NewGuid() 返回的重复项?

我们有一个应用程序可以为我们的一项服务生成模拟数据以进行测试。每个数据项都有一个唯一的 Guid。但是,当我们在对模拟器进行一些小的代码更改后运行测试时,它生成的所有对象都具有相同的 Guid。

创建了一个数据对象,然后是一个 for 循环,其中对象的属性被修改,包括一个新的唯一 Guid,并通过远程处理(可序列化,而不是 marshal-by-ref,如果这是你的话)发送到服务'正在考虑),循环并再次执行,等等。

如果我们在循环中放置一个小的 Thread.Sleep( ...),它会生成唯一的 id。我认为这是一个红鲱鱼。我创建了一个测试应用程序,它只是一个接一个地创建了一个 guid,并且没有得到一个副本。

我的理论是,IL 的优化方式导致了这种行为。但是关于我的理论就足够了。你怎么看?我愿意接受建议和测试它的方法。

更新:我的问题似乎有很多困惑,所以让我澄清一下。我不认为 N​​ewGuid() 坏了。显然它有效。没关系!但是在某处有一个错误,导致 NewGuid() :1)在我的循环中只被调用一次 2)在我的循环中每次都被调用但只分配一次 3)我没有想到的其他东西

这个错误可能在我的代码中(很可能)或在某处的优化中。

所以重申我的问题,我应该如何调试这个场景?

(感谢您的精彩讨论,这真的帮助我澄清了我心中的问题)

更新#2:我很想发布一个显示问题的示例,但这是我的问题的一部分。我不能在整个应用程序套件(客户端和服务器)之外复制它。

这是一个相关的片段:

0 投票
3 回答
761 浏览

java - 如何将位组装成一个 long 以创建唯一 ID?

我想编写一个实用程序,为我提供 Java 中相对唯一的 ID。一些非常简单的东西,比如时间戳中的 x 位 + 随机数中的 y 位。

那么,我将如何实现以下方法:

奖金

对于我可以用来形成我的身份证的其他容易获得的信息有什么建议吗?

注意:我知道 GUID,我知道 Java 有一个 UUID 类,但我不想要 128 位长的东西。

0 投票
2 回答
9103 浏览

.net - 如何将 GUID 作为属性参数?

我需要一些属性类中的 Guid 属性,如下所示:

但是在属性定义中,我只能使用原始类型,它们是常量(我理解为什么,这让我很有意义)。解决方法可以将“ForeignIdentificator”定义为字符串,并在运行时创建 Guid:

Unahppily 我放松检查类型安全。“ForeignIdentificator”属性可以包含任何字符串值,并且在创建 Guid 期间将在运行时抛出异常,而不是在编译时。

我知道编译器会检查“System.Runtime.InteropServices.GuidAttribute”的字符串值以获取“Guid 兼容性”。这个检查正是我需要的,但我不知道这个检查是我在编译器中硬编码还是我可以明确定义(以及如何)。

您是否知道某种方式,如何确保“Guid 兼容性”检查属性?或者其他方式,如何在属性中达到类型安全的 Guid 定义?谢谢。

0 投票
5 回答
9689 浏览

asp.net - 为什么 Guid.NewGuid() 会生成一个空的 guid?

我有一个正在创建空 Guid 的 Guid.NewGuid() 调用。

什么会导致这样的问题,我该如何解决?

编辑:代码:

编辑:原来 rowPointer 最初是传递给 SqlHelper 而不是 rowPointerValue - 正如答案中所指出的,这当然是作为空传递的。将其更改为 rowPointerValue/rowPointer.ToString() 解决了问题。

0 投票
4 回答
506 浏览

primary-key - 现在我已将主键转换为 GUID,如何修复性能?

我使用 TopLink 作为我的 ORM 和 MySQL 作为数据库。

我将我的自动增量主键换成我的一张表的 GUID(好吧,不完全是:我实际上使用的是随机的 64 位整数,但这足以满足我的需要)。

无论如何,现在甚至不使用密钥的查询都需要更长的时间。

我能做些什么?

0 投票
6 回答
5020 浏览

c# - 创建带有一组前缀的 GUID

我想知道是否有一种方法可以生成有效的 GUID/UUID,其中第一个(或任何部分)部分是用户选择的前缀。

即,GUID 的格式为 AAAAAAAAA-BBBB-CCCC-DDDD-DDDDDDDDDDDD,我想将任何部分设置为预定义的值(最好是 AAA)。目标是让 GUID 仍然是全球唯一的,但它们不需要是加密安全的。