From 2daf6ae2495c862adf8bc717bfe9964081ea0b10 Mon Sep 17 00:00:00 2001 From: Georg Brandl Date: Mon, 20 Feb 2012 19:54:16 +0100 Subject: Issue #13703: add a way to randomize the hash values of basic types (str, bytes, datetime) in order to make algorithmic complexity attacks on (e.g.) web apps much more complicated. The environment variable PYTHONHASHSEED and the new command line flag -R control this behavior. --- Lib/os.py | 17 ----------------- 1 file changed, 17 deletions(-) (limited to 'Lib/os.py') diff --git a/Lib/os.py b/Lib/os.py index b46c02f580..8f66472390 100644 --- a/Lib/os.py +++ b/Lib/os.py @@ -611,23 +611,6 @@ try: except NameError: # statvfs_result may not exist pass -if not _exists("urandom"): - def urandom(n): - """urandom(n) -> str - - Return a string of n random bytes suitable for cryptographic use. - - """ - try: - _urandomfd = open("/dev/urandom", O_RDONLY) - except (OSError, IOError): - raise NotImplementedError("/dev/urandom (or equivalent) not found") - bs = b"" - while len(bs) < n: - bs += read(_urandomfd, n - len(bs)) - close(_urandomfd) - return bs - # Supply os.popen() def popen(cmd, mode="r", buffering=-1): if not isinstance(cmd, str): -- cgit v1.2.1