mercredi 27 janvier 2016

Repeated set of UUIDs from java's UUID.randomUUID()

We have observed that set of almost 200,000 UUIDs has replayed two months apart, and I'm wondering if anyone has seen anything similar.

The UUIDs are generated using UUID.randomUUID(). In digging into this (looking at java source), randomUUID() uses SecureRandom() under the hood, which in turn is using NativePRNG. It is my understanding that NativePRNG uses /dev/urandom to acquire its seed. The implication of course is baffling - that somehow /dev/urandom returned the same seed to NativePRNG two months apart. From what I can tell, once instantiated the PRNG does not re-seed. This is a long running job which s listening for messages and using a UUID as an ID for it. The pseudocode is simply:

< receive message> String uuid = UUID.randomUUID().toString(); String fname = h.composeArtifact(uuid);

The OS is Centos 6, on an AWS EC2 instance running JDK1.6. Is this something that anyone has seen/experienced in the past? Seems like the kind of thing that should 'never happen'...




Aucun commentaire:

Enregistrer un commentaire