in reply to Custom-length random/unique string generator
my $buildID = md5_base64 ( rand($$) ) . md5_base64 ( rand($$) ) . md5_base64 ( rand($$) );
Let's see. On most *nix's, max_pid is 32768. That means that at most, you have 32768**4 = 1,152,921,504,606,846,976 inputs.
But, if your process happens to get allocated pid=100; then you only have 100**4 = 100,000,000 possibles.
The random number generator is seeded elsewhere with a permutation of this child's process ID and current machine time
Again, pids ranging from ~ 2 .. 32768. Time() during the working day, say 8.00am to 6pm: 29,000 .. 64,000.
You don;t say how they are combined, but typically people use something like srand( $$ ^ time() ), and that produces a range of number far smaller than they intuitively expect.
this is 2.4e+100 possible combinations,
I think that is way optimistic.
|
|---|