2016-12-06 21 views

回答

5

secrets.choice(range(n, m))應該是很好的,因爲range是懶的Python 3

n + secrets.randbelow(m-n)是另一種選擇。我不會使用它,因爲它不太正確。

由於secrets提供了訪問SystemRandom類,具有相同的接口random.Random,你也可以保持自己的SystemRandom例如:

my_secure_rng = secrets.SystemRandom() 

,做

my_secure_rng.randrange(n, m) 
0

secret模塊提供與random相同的界面;潛在的隨機發生器剛剛改爲SystemRandom,這是密碼強。

簡而言之,在需要更多安全性的情況下,您可以像使用random那樣使用它;我懷疑choice遭受性能如此之大,以保證您的關注。

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

請給予更多解釋。 – rayryeng