algorithm - 是否可以设计我们自己的算法来创建唯一的 GUID?

标签 algorithm winapi guid

GUID 由数字和带有连字符的字符组合生成。

例如){7B156C47-05BC-4eb9-900E-89966AD1430D}

在 Visual Studio 中,我们有“创建 GUID”工具来创建它。我希望可以通过窗口 API 以编程方式创建相同的内容。

如何使 GUID 具有唯一性?为什么他们不使用任何特殊字符,如 #、^ 等...

另外,是否可以设计我们自己的算法来创建唯一的 GUID?

最佳答案

是的,这是可能的,但是您不应该在没有充分理由的情况下尝试重新发明轮子。通过包含(从统计上讲)在两种不同情况下不太可能相同的元素,GUID 是唯一的,例如:

  • 当前时间戳
  • 系统更新
  • 系统MAC地址
  • 一个随机数
  • ...

此外,如果您从零开始实现 GUID,请考虑其对隐私的影响,因为它们包含某些人认为敏感的上述数据。

关于algorithm - 是否可以设计我们自己的算法来创建唯一的 GUID?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2764947/

相关文章:

c++ - 使用 c++ 中的 win api 获取事件查看器日志

asp.net-mvc - MVC @html.textbox用于预填充 Guid 默认值

c++ - 在位图上并发腐 eclipse 或膨胀

c - 二叉搜索树 - C 中的层序遍历

c++ - 如何使用 C++ 从 RAM 运行可执行文件?

azure - Azure AD 应用程序 ID 在整个 Azure 中是否唯一?

javascript - 是什么让这个伪 GUID 生成器比 math.random() 更好?

algorithm - 回文链表问题-算法

c - 基本 C Multi 中的高斯乔丹方法

c# - 如何检测所选打印机的类型是否为点阵?