Tag: GUID

如何生成像“aX4j9Z”(在JS中)

对于我的web应用程序(在JavaScript中)我想生成简短的GUID(对于不同的对象 – 实际上是不同的types – string和string数组) 我想为我的uids(guids)这样的“aX4j9Z”。 所以这些用户界面应该足够轻量级,用于网页传输和jsstring处理,而且对于不是一个巨大的结构(不超过10k个元素)来说是相当独特的。 通过说“非常独特”,我的意思是,在uid的产生之后,我可以检查这个uid是否已经存在于结构中,如果是的话就重新生成。 我会appriciate任何意见。

GUID有多么可靠的不可猜测?

前一段时间,我在一个Web应用程序,用户可以买票。 由于我们客户的stream程运行的方式,您购买的结果是一个带有票号的URL。 这些是在中东购买物业的门票,每张票可能价值约3,000,000美元。 显然,顺序整数会是一个坏主意。 我们使用GUID,因为它们基本上是不可猜测的,但是我的问题是:它们足够安全吗? 据我所知,.NET产生的GUID是完全伪随机的(除了一些不变的比特)。 但是,我不知道用什么algorithm来生成它们。 MSDN文档告诉我们Random是快速和不安全的, RNGCryptoServiceProvider是缓慢和安全的。 也就是说,假设某人可以投入足够的精力来预测Random的结果,而不是RNGCryptoServiceProvider 。 如果你看到足够长的GUID序列,是否有可能预测未来的期货? 如果是这样,你需要看多less? [在我们的具体情况下,后来进行了人身安全检查 – 您必须出示您用来购买机票的护照 – 所以如果有人猜对了别人的GUID,那也不算太坏,所以我们没有出汗当时。 将GUID用作数据库密钥的便利性使其成为一种有用的数据types。] 编辑: 所以答案是“不够”。 在下面使用0xA3的答案,并从他链接到的问题的链接,下面的代码将生成密码随机的GUID是有效的RFC 4122的第4.4节 : static Guid MakeCryptoGuid() { // Get 16 cryptographically random bytes RNGCryptoServiceProvider rng = new RNGCryptoServiceProvider(); byte[] data = new byte[16]; rng.GetBytes(data); // Mark it as a version 4 GUID data[7] = […]

在MySQL中为现有数据生成GUID?

我刚刚导入了一堆数据到一个MySQL表,我有一个列“GUID”,我想基本上用新的和唯一的随机GUID填充所有现有的行。 我如何在MySQL中做到这一点? 我试过了 UPDATE db.tablename SET columnID = UUID() where columnID is not null 只是让每个领域都一样

Guid == null不应该被编译器允许

可能重复: C#好的比较值types为null 下面描述的行为仅限于.net-3.5 你好, 我只是遇到了C#编译器中最令人惊讶的行为。 我有以下代码: Guid g1 = Guid.Empty; bool b1= (g1 == null); 那么, Guid是不可空的,因此它不能等于null 。 我在第2行做的比较 总是返回false 。 如果你对一个整数做同样的事情,编译器会发出一个警告,说明结果总是为false: int x=0; bool b2= (x==null); 我的问题是: 为什么编译器让你比较一个Guid为null ? 据我所知,它已经知道结果总是假的。 内置的转换是以这样一种方式完成的,即编译器假定null是一个可能的值? 我在这里错过了什么? 谢谢

为什么.NET GUID中有破折号?

为什么.NET GUID中有破折号? 在大多数GUID的实现中是否有破折号,还是仅仅是微软的东西? 签, 741ecf77-9c92-4435-8e6b-85975bd13452

随机是如何System.Guid.NewGuid()?

我知道这可能听起来像一个毫无意义的问题,但是听我说… 我基本上想知道,如果我可以信任GUID来产生一个值100%的时间是独一无二的,不可能预测的。 我基本上滚动我的login系统的网站,并想知道如果GUID足够安全的会话Cookie。 在评估答案时,任何关于如何生成GUID的背景都将非常感激。 感谢重复问题的链接,但是,我的问题是特定于.Net框架。

Guid.Parse()或新的Guid() – 有什么区别?

这两种将string转换为System.Guid方式有什么区别? 有没有理由select一个呢? var myguid = Guid.Parse("9546482E-887A-4CAB-A403-AD9C326FFDA5"); 要么 var myguid = new Guid("9546482E-887A-4CAB-A403-AD9C326FFDA5");

.NET 3.5中有一个GUID.TryParse()吗?

UPDATE Guid.TryParse在.NET 4.0中可用 END UPDATE .NET CLR 2.0中显然没有公共的GUID.TryParse()。 所以,我正在研究正则expression式(又名googling来find一个),每次我发现一个关于RegEx A的注释部分有一个激烈的争论,使用正则expression式B.然后有人会写正则expression式C yadda yadda 所以无论如何,我决定要做的是这件事,但是我感觉不好。 public static bool IsGuid (string possibleGuid) { try { Guid gid = new Guid(possibleGuid); return true; } catch (Exception ex) { return false; } } 显然我不太喜欢这个,因为自从第一天就开始钻入我的行列,以避免抛出exception,如果你可以防守的话。 有谁知道为什么在.NET Framework中没有公共的Guid.TryParse()? 有没有人有一个真正的正则expression式,将适用于所有的GUID?

UUID格式:8-4-4-4-12 – 为什么?

为什么UUID的格式是“8-4-4-4-12”(数字)? 我已经find了原因,但找不到要求的决定。 UUID格式为hexstring的示例:58D5E212-165B-4CA0-909B-C86B9CEE0111

在C ++平台无关的GUID生成?

什么是在不依赖平台特定工具的情况下以编程方式在C ++中生成GUID或UUID的最佳方式? 我正在尝试为仿真中的对象创build唯一的标识符,但不能依赖微软的实现,因为项目是跨平台的。 笔记: 由于这是一个模拟器,我不需要密码随机性。 这是最好的,如果这是一个32位数字。