Now all dice rolls are cryptographically secure against criticism for being ostensibly non-random.
@@ -7,7 +7,7 @@ import sys
import readline
import operator
from numbers import Number
-from random import randint
+from random import SystemRandom
from pyparsing import Regex, oneOf, Optional, Group, Combine, Literal, CaselessLiteral, ZeroOrMore, StringStart, StringEnd, opAssoc, infixNotation, ParseException, Empty, pyparsing_common, ParseResults, White, Suppress
logFormatter = logging.Formatter('%(asctime)s %(levelname)s: %(message)s')
logger = logging.getLogger(__name__)
@@ -17,6 +17,9 @@ logger.addHandler(logging.StreamHandler())
for handler in logger.handlers:
handler.setFormatter(logFormatter)
+sysrand = SystemRandom()
+randint = sysrand.randint
+
@attr.s
class IntegerValidator(object):
min_val = attr.ib(default='-inf', convert=float)