Beefy Boxes and Bandwidth Generously Provided by pair Networks
go ahead... be a heretic
 
PerlMonks  

Re: What is the truth about srand()?

by doc_faustroll (Scribe)
on Mar 29, 2006 at 15:46 UTC ( #539982=note: print w/ replies, xml ) Need Help??


in reply to What is the truth about srand()?

call srand when you want a seed which is not /dev/urandom.
What exactly are you using this for? if crypto, put care and thought into it.

from my docs on srand:

Note that you need something much more random than the default seed for cryptographic purposes. Checksumming the compressed output of one or more rapidly changing operating system status programs is the usual method. For example: srand (time ^ $$ ^ unpack "%L*", ‘ps axww │ gzip‘); If you’re particularly concerned with this, see the "Math::Tru lyRandom" module in CPAN.

also, what is your version of Perl? I can't speak for your version but here is a relevant passage from mine. v5.8.5

Most programs won’t even call srand() at all, except those that need a cryptographically-strong starting point rather than the generally acceptable default, which is based on time of day, process ID, and memory allocation, or the /dev/urandom device, if available.


Comment on Re: What is the truth about srand()?
Re^2: What is the truth about srand()?
by merlyn (Sage) on Mar 29, 2006 at 15:51 UTC
      My knowledge is creaky and old, and my typing is worse! So, I'm glad someone is awake with a sense of humor around here. I need good slap down.

      How about this: calling srand without an expression causes it to use a default which my be /dev/urandom in a best case.

      But you usually don't want to explicitly call srand unless you are going to supply your own seed EXPR. let rand do it for you!

      update: I'm going to crawl back into my cubicle like bed and come back when I can actually read your question and respond more thoughtfully. You are obviously using rand and were just wondering what the seed was. on *nix, it will most likely be /dev/urandom. But if a security guy is asking and you need crypto level randomness then my over obvious post might have some mete of merit.

Log In?
Username:
Password:

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

How do I use this? | Other CB clients
Other Users?
Others cooling their heels in the Monastery: (7)
As of 2014-08-31 11:10 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    The best computer themed movie is:











    Results (294 votes), past polls