2008-09-30 140 views
7

我有一堆运行此Linux应用程序的服务器。我希望他们能够生成一个碰撞概率较低的GUID。我确信我可以从/ dev/urandom中取出128个字节,这可能会很好,但是有没有简单的方法来生成一个更类似于Win32的GUID?特别是,考虑到空间(以及MAC地址),时间和随机性?我不想取消的框,我只是想是CreateGuid()C++ Linux GCC应用程序中的GUID

回答

10

这个Internet Draft描述了一种非常详细的UUID,当我需要一个UUID实现并且由于架构原因无法链接到现有的库时,我使用了类似的方法,并取得了巨大的成功。

这个article提供了一个很好的概述。

+3

从望着那第二个链接,我发现libuuid(http://linux.die.net/man/3/libuuid),这似乎正是我需要的。谢谢! – twk 2008-09-30 17:02:26

+0

我很高兴能够提供帮助。 – 2008-09-30 17:04:30

2

看吧: GUID Behind the Scenes

附:这是而不是一个重复的问题 - 最好的答案会指向一个公开的来源。

2

如果你打算使用一些东西,那么互联网标准将是一个好主意:
查看RFC(Request For Comment)。

一个我知道,是具体到GUID是: RFC 4122

8

libuuid

+3

如果存在非LGPL(和非GPL)库,那将会很棒。 – 2009-10-27 16:04:00