Bladeren bron

Use random.SystemRandom as random source

Now all dice rolls are cryptographically secure against criticism for
being ostensibly non-random.
Ryan C. Thompson 6 jaren geleden
bovenliggende
commit
726f051017
1 gewijzigde bestanden met toevoegingen van 4 en 1 verwijderingen
  1. 4 1
      roll.py

+ 4 - 1
roll.py

@@ -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)