Here are some things I found out will working on 'random/secure and 'random/seed that may be of help to others.
I wanted to completely utilize the time provided by 'now/precise as the seed for 'random/seed. (for some cryptography related scripts) (the following messages are from the escribe archives and console output is from view 1.2.5.3.1 >From an earlier question on using 'random Joel Neely wrote: Date: Thu, 22 Aug 2002 15:09:45 "The documentation should state what types of values are acceptable as seeds. I believe that you need to restrict yourself to date!, time!, or integer! values for legitimate seeds." And Frank Sievertsen wrote: [REBOL] Re: True Random Date: Mon, 20 Aug 2001 00:09:35 Try this: random/seed checksum form now/precise CU, Frank With Petr Krenzelok adding: Date: Mon, 20 Aug 2001 00:32:38 you can even use checksum/secure .... -pekr- But please observe the following... It appears that 'random/seed seeded with time ('now/precise) only seeds to the second! ... randomize-series: func [series][ random/seed now/precise random/secure series ] >> loop 10 [print [now/precise randomize-series "12345"]] 15-Jan-2004/12:20:06.968-5:00 14532 15-Jan-2004/12:20:06.968-5:00 14532 15-Jan-2004/12:20:06.968-5:00 14532 15-Jan-2004/12:20:06.984-5:00 14532 15-Jan-2004/12:20:06.984-5:00 14532 15-Jan-2004/12:20:07-5:00 13524 15-Jan-2004/12:20:07-5:00 13524 15-Jan-2004/12:20:07.015-5:00 13524 15-Jan-2004/12:20:07.015-5:00 13524 15-Jan-2004/12:20:07.015-5:00 13524 ... as you see the randomized string only changes with the second. Changing the time to an integer won't work ... >> loop 10 [print [now/precise to-integer now/time/precise]] 15-Jan-2004/12:13:32.953-5:00 44012 15-Jan-2004/12:13:32.968-5:00 44012 15-Jan-2004/12:13:32.968-5:00 44012 15-Jan-2004/12:13:32.968-5:00 44012 15-Jan-2004/12:13:32.984-5:00 44012 15-Jan-2004/12:13:32.984-5:00 44012 15-Jan-2004/12:13:33-5:00 44013 15-Jan-2004/12:13:33-5:00 44013 15-Jan-2004/12:13:33-5:00 44013 15-Jan-2004/12:13:33.015-5:00 44013 ... as you can see that the integer changes only with the second. Also, note that I only changed the time (not the date) to integer, because ... >> to-integer now/precise ** Script Error: Invalid argument: 15-Jan-2004/12:30:15.734-5:00 ** Where: to-integer ** Near: to integer! :value ... thus not using the date portion in the potential seed. You cannot use checksum/secure on the time because ... >> random/seed checksum/secure form now/precise == {îen|^E€^A”d¦—Âê/Ì^K^G¬Ñý} ... and ... >> seed: checksum/secure form now/precise == #{70C9F0D1D65FD88B6093DF38FD972ABCA56724B3} >> random/seed seed == "‹`$—p*Éß¼gس_Ö¥ð8ý“Ñ" >> random/seed seed == "g‹_ð“ßÉ`¼pýÑÖ¥*$8—³Ø" >> random/seed seed == "¥`¼Ñ_—p$Øð‹ýÖÉ8*“³ßg" ... returns a value! Thus the "seed" given above is scrambled , but not passed to random/seed as a seed. If "checksum/secure form now/precise" was providing a legitimate seed then the follwing sequences would be identical ... >> seed: checksum/secure form now/precise == #{70C9F0D1D65FD88B6093DF38FD972ABCA56724B3} >> random/seed seed == "“*g`Ñ‹¥¼ð³Ø$É8Ö_—pßý" >> loop 5 [print random/secure "12345"] 53142 31254 32514 25143 32145 >> random/seed seed == "*ýg`ÖѳßpÉ—“$¥Ø_8¼ð‹" >> loop 5 [print random/secure "12345"] 32415 13524 15432 45231 43251 .. but they are not the same. So, to use _all_ of the information provided by 'now/precise (all of 15-Jan-2004/12:34:16.437-5:00) as a seed to 'random/seed you must random/seed to-integer checksum/secure form now/precise Now we see all the behavior we expect ... >> seed: to-integer checksum/secure form now/precise == 1264002547 >> random/seed seed >> loop 5 [print random/secure "12345"] 45213 41325 45321 35124 14523 >> random/seed seed >> loop 5 [print random/secure "12345"] 45213 41325 45321 35124 14523 Notice that there is nothing returned when providing the seed and that the two sequences are identical. Other Observations: 'random/seed will take a date ... >> seed: now/date == 16-Jan-2004 >> random/seed seed >> .. because nothing is returned. A 'binary is not a legitimate seed ... >> seed: to-binary 100 == #{313030} >> random/seed seed == "010" ... because a value is returned. A 'time is a legitimate seed ... >> seed: now/time == 22:11:03 >> random/seed seed >> ... but remember that it is good only to the second! So, you need to do two tests to determine if a seed is legitimate: 1) Nothing returned from 'random/seed your-seed 2) Identical random sequences produced when reseeding from the same seed. To conclude: apparently only dates, times, and integers are legitimate seeds, and one way to use all of a 'now (including both date and sub-second precision) is to random/seed to-integer checksum/secure form now/precise Here's a handy function to reseed to sub-second precision ... randomize: func [ {Reseed the random number generator using 'now/precise, or enter a date! time! integer! argument.} seed [any-type!] ][ random/seed either value? 'seed [seed][to-integer checksum/secure form now/precise] ] As a bonus (as if this wasn't long enough already!) I have included my gleanings from the archives about 'random in the following binary!. Just decompress. probe decompress useful-stuff-on-random: 64#{ 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 } -- ___________________________________________________________ Sign-up for Ads Free at Mail.com http://promo.mail.com/adsfreejump.htm -- To unsubscribe from this list, just send an email to [EMAIL PROTECTED] with unsubscribe as the subject.