
Sean Parent wrote:
If you know of a good library for cryptographic quality random numbers I'm interested - that's the core issue right now for the ZUID library is ensuring enough entropy for the node ID.
I don't know of a portable library for obtaining entropy; I'd expect /dev/urandom to be one on POSIX OSes but its quality would probably vary. For Windows XP, there is RtlGenRandom: http://windowssdk.msdn.microsoft.com/en-us/library/ms732683.aspx and the algorithm behind it is explained in: http://blogs.msdn.com/michael_howard/archive/2005/01/14/353379.aspx For GUIDs, one would typically obtain "a sufficient amount" of entropy only once at startup and use it as a seed for a high quality PRNG, so speed shouldn't be an issue. I haven't needed a portable PRNG implementation so far (usually I also need other crypto facilities and use whatever the crypto library provides) so I'm not sure whether a de-facto standard has emerged as is the case with encryption (AES) and hash functions (SHA2).