GUID由数字和字符与连字符的组合生成。
例如){7B156C47-05BC-4eb9-900E-89966AD1430D}
在Visual Studio中,我们使用“创建GUID”工具来创建它。我希望可以通过窗口API以编程方式创建相同的内容。
如何使GUID独一无二?为什么他们不使用任何特殊字符,如#,^ etc ......
是否可以设计我们自己的算法来创建唯一的GUID?
答案 0 :(得分:3)
是的,有可能,但你不应该在没有充分理由的情况下重新发明轮子。通过在两个不同的情况下包含(统计学上说)不太可能相同的元素,使GUID变得独特,例如:
另外,如果您从零开始实施GUID,请考虑其隐私含义,因为它们包含一些人认为敏感的上述数据。
答案 1 :(得分:3)
UUID定义为例如在http://www.faqs.org/rfcs/rfc4122.html。使用您自己的算法生成类似UUID的问题的一个问题是您可能会与其他人的UUID发生冲突。因此,如果可能的话,你绝对应该使用别人的实现,如果没有,你可以编写自己的标准算法实现。
答案 2 :(得分:1)
答案 3 :(得分:1)
您应该通过调用为其设计的API来创建新的GUID。在原生的窗户土地上
CoCreateGUID
;在.NET中它是System.Guid.NewGuid()
;
答案 4 :(得分:0)
是的,虽然更容易利用别人的,例如Boost uuid