2008-09-30 18 views
7

Bu Linux uygulamasını çalıştıran bir grup sunucum var. Düşük bir çarpışma ihtimali olan bir GUID oluşturabilmelerini istiyorum. Eminim/dev/urandom'dan 128 bayt çekebileceğime eminim ve bu muhtemelen iyi olurdu, ama Win32'a daha eşdeğer bir GUID oluşturmak için basit bir & kolay yolu var mı? Özellikle, alan (iyi, MAC adresi), zaman ve rasgelelik dikkate alır biri? Bunun için kutu iptal etmek istemiyoruz, sadece istiyorum burada CreateGuid()Bir C++ Linux GCC uygulamasında GUID'ler

cevap

10

Internet Draft Bu Internet Draft, büyük ayrıntılarda bir tür UUID'yi açıklar ve UUID uygulamasına gereksinim duyduğumda ve mimari nedenlerden dolayı varolan bir kitaplığa bağlanamadığında, büyük bir başarı ile benzer bir yaklaşım kullandım.

Bu article iyi bir genel bakış sağlar.

+3

, ben tam olarak neye ihtiyacım olduğu görülen, (http://linux.die.net/man/3/libuuid) libuuid bulundu. Teşekkürler! – twk

+0

Yardım edebildiğime sevindim. –

2

Look gibi bir şey: GUID Behind the Scenes

Not; Bu değil yinelenen bir soru - en iyi cevap herkese açık bir kaynağa işaret eder.

2

Eğer bir şey kullanacaksanız, o zaman bir İnternet standardı iyi bir fikir olur:
RFC'ye (Yorum Yaz) göz atın.

Bunu guıd özgü olduğunu biliyorum biridir: RFC 4122

8

libuuid yoktur.

+3

LGPL olmayan (ve GPL olmayan) bir kitaplık olması harika olurdu. –

+2

@jeffamaphone: Linux C++'ı hedeflerken LGPL kitaplıklarını neden önemsiyorsunuz? C++ standart kütüphanesi LGPL'dir. – Joshua