Andrew Kuchling writes:

First, the RNG in whrandom.py sucks if you let it seed itself from the time.
The problem is the line:
			t = int((t&0xffffff) | (t>>24))
Since it ORs the two parts together, the resulting value has mostly
ON bits.  Change | to ^, and you don't lose any randomness.
This commit is contained in:
Guido van Rossum 1998-02-16 14:52:42 +00:00
parent 1aedbd8b0a
commit 358473c1a2
1 changed files with 1 additions and 1 deletions

View File

@ -50,7 +50,7 @@ class whrandom:
# Initialize from current time # Initialize from current time
import time import time
t = long(time.time() * 256) t = long(time.time() * 256)
t = int((t&0xffffff) | (t>>24)) t = int((t&0xffffff) ^ (t>>24))
t, x = divmod(t, 256) t, x = divmod(t, 256)
t, y = divmod(t, 256) t, y = divmod(t, 256)
t, z = divmod(t, 256) t, z = divmod(t, 256)