Re: Werte fü r das C'sche srand()

David Haller <[email protected]>
Newsgroups gmane.linux.suse.programming
Message-ID <[email protected]>
Hallo,

Am Wed, 13 Oct 2004, Ferdinand Ihringer schrieb:
>On Wednesday 13 October 2004 00:08, David Haller wrote:
[..]
>> Und vielleicht 'gettimeofday' oder statt 'time'. Das mit der PID ist
>> sicherlich auch noch ne Idee.
[..]
>> Evtl. koennte mann das Ergebnis auch noch durch einen Hash-Algorithmus
>> schicken, z.B. MD5 oder SHA1 und dies dann wieder auf 'sizeof(unsigned
>> int)' "kuerzen" (und zwar nicht mit nem einfachen 'mod').
>
>Eine Frage aus reinem Interesse: Wie wÃŒrde man das machen? Einfach von den 
>16-MD5 die sizeof(unsigned int) ersten Bytes nehmen?

Das wÀre eine Möglichkeit. Oder die 128 bit in Blöcke zu je
sizeof(int) teilen und die Blöcke verXORen oder so. Das hilft
allerdings immer noch nicht dagegen, daß du innerhalb einer Sekunde
immer den gleichen seed bekommst.

Schau mal in /usr/src/linux/drivers/char/random.c (v.a. auch die
Kommentare) und schau mal, ob du da nicht noch ein "besseres"
Zufallselement in den seed reinbekommst.

Ich wÃŒrde jedenfalls im ./configure auf /dev/urandom testen und wenn
das vorhanden ist das zum initialisieren verwenden.

Ob und wie du unter Win* an Zufallsdaten oder zumindest an eine
genauere "Zeit" als 'time()' rankommst weiß ich nicht. Vorhanden ist
sowas aber wohl.

Da musst du dann halt wohl oder ÃŒbel mit ein paar #defines / #ifdefs
rumwerfen.

-dnh

-- 
"It's fifteen hundred miles to Ankh-Morpork, we've got three hundred and
sixty-three elephants, fifty carts of forage, the monsoon's about to break and
we're wearing... we're wearing... sort of things, like glass, only dark... dark
glass things on our eyes... ... Let's go!"   -- T. Pratchett, "Moving Pictures"

-- 
Um die Liste abzubestellen, schicken Sie eine Mail an:
    [email protected]
Um eine Liste aller verfÃŒgbaren Kommandos zu bekommen, schicken
Sie eine Mail an: [email protected]
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.