Commit 2ba3911d authored by Raymond Hettinger's avatar Raymond Hettinger

Issue #21470: Do a better job seeding the random number generator

to fully cover its state space.
parent d4d7db31
...@@ -108,7 +108,9 @@ class Random(_random.Random): ...@@ -108,7 +108,9 @@ class Random(_random.Random):
if a is None: if a is None:
try: try:
a = long(_hexlify(_urandom(32)), 16) # Seed with enough bytes to span the 19937 bit
# state space for the Mersenne Twister
a = long(_hexlify(_urandom(2500)), 16)
except NotImplementedError: except NotImplementedError:
import time import time
a = long(time.time() * 256) # use fractional seconds a = long(time.time() * 256) # use fractional seconds
......
...@@ -52,6 +52,9 @@ Library ...@@ -52,6 +52,9 @@ Library
- Issue #21306: Backport hmac.compare_digest from Python 3. This is part of PEP - Issue #21306: Backport hmac.compare_digest from Python 3. This is part of PEP
466. 466.
- Issue #21470: Do a better job seeding the random number generator by
using enough bytes to span the full state space of the Mersenne Twister.
- Issue #21469: Reduced the risk of false positives in robotparser by - Issue #21469: Reduced the risk of false positives in robotparser by
checking to make sure that robots.txt has been read or does not exist checking to make sure that robots.txt has been read or does not exist
prior to returning True in can_fetch(). prior to returning True in can_fetch().
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment