Beefy Boxes and Bandwidth Generously Provided by pair Networks
Pathologically Eclectic Rubbish Lister
 
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.

Replies are listed 'Best First'.
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?
[hippo]: +1 for Text::CSV_XS
[ovedpo15]: Im not allowed to use additional modules, so I can't use it. looking for a simple regex to do this task though..
[Corion]: Ah, so this is homework? Then most likely, you should review your course material closer. It would greatly surprise me if the course material wouldn't mention the topics that will be used in the homework...
[Corion]: I already showed you the simple regex to match the last part of a string without a comma in it
[Tux]: Corion++ hippo++
[ovedpo15]: it isn't homework. its a module I use at work. The process to add additional module isn't worth it. p.s never heard a university course which teach perl
[marto]: there are many, to this day.
[ovedpo15]: @Corion Yes I use the regex you showed me. its very good regex. although now i need to know that substring unit that comma
marto mad corrections to one around 18 months ago
[ovedpo15]: my code checks the value after that comma, if it isn't valid it will remove it. so I would like to remove the substring after that comma meaning getting the string before comma.

How do I use this? | Other CB clients
Other Users?
Others exploiting the Monastery: (7)
As of 2018-05-27 10:44 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?
    Notices?