Beefy Boxes and Bandwidth Generously Provided by pair Networks
Perl-Sensitive Sunglasses

Re: Custom-length random/unique string generator

by BrowserUk (Pope)
on Feb 02, 2013 at 19:33 UTC ( #1016742=note: print w/ replies, xml ) Need Help??

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.

With the rise and rise of 'Social' network sites: 'Computers are making people easier to use everyday'
Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
"Science is about questioning the status quo. Questioning authority".
In the absence of evidence, opinion is indistinguishable from prejudice.
Comment on Re: Custom-length random/unique string generator
Select or Download Code

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://1016742]
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others meditating upon the Monastery: (11)
As of 2016-05-24 16:54 GMT
Find Nodes?
    Voting Booth?