2016-12-06 10 views

Odpowiedz

5

secrets.choice(range(n, m)) powinno być w porządku, ponieważ range jest leniwa na Python 3.

n + secrets.randbelow(m-n) ma innej opcji. Nie użyłbym tego, ponieważ jest to mniej oczywiste.

Od secrets zapewnia dostęp do klasy SystemRandom, z tego samego interfejsu jak random.Random, można również zachować swój SystemRandom instancję:

my_secure_rng = secrets.SystemRandom() 

i zrobić

my_secure_rng.randrange(n, m) 
0

Moduł secret oferuje ten sam interfejs co random; bazowy generator losowy został właśnie zmieniony na SystemRandom, który jest silny pod względem kryptograficznym.

Krótko mówiąc, używaj go tak, jak byś random w okolicznościach wymagających nieco większego bezpieczeństwa; Wątpię, czy choice cierpi z powodu tak dużego wysiłku, aby uzasadnić twoją troskę.

0
import secrets 
num = secrets.randbelow(50) 
print(num) 
+1

Proszę podać więcej wyjaśnień. – rayryeng

Powiązane problemy