In the module HttpSetMisc there are directives (set_secure_random_alphanum & set_secure_random_lcalpha) that provides a string of random characters of a defined length. I am considering using this instead of rolling my own UUID function for a system where I need to have a unique transaction ID that gets logged with each request but needs to be unique across multiple servers for millions of requests.
Does anyone on the list have the knowledge of the code and the statistical probability skills to speak to the potential of a collision from the strings generated by the set_secure_random_alphanum directive of the module HttpSetMiscModule? Some questions that come to mind:
How is the randomness seeded/computed in the HttpSetMisc?
At what length of string does the output of this directive approach the 5.3 x 10^36 possible values for the type 4 UUID?
What are the probabilities of of a collision from 5 servers handling requests at the same time?
for reference: http://wiki.nginx.org/HttpSetMiscModule#set_secure_random_alphanum
I searched this list as well as the wider internet for discussion on this topic specific to the HttpSetMisc directives. I hope that this can prove to be a fruitful discussion that will result in helpful information for others to find as they grapple with the same question.
Thanks in advance for your help.
-John Mark Mitchell