Pythonの3 random.random()は、毎回の使用前に高いエントロピーの種がシードされていればセキュリティに十分ですか?分布の形状を確認すること以外の方法を知り、検証する方法。は、すべての使用の前に高いエントロピーの種がシードされている場合、セキュリティに十分なPythonの3つのrandom.randomです。
したがって、random.randomを使用して、エントロピーソースを配列の項目の中の多くの選択肢に変換することについての質問です。
たとえば、9k語の辞書があり、ランダムに18語を選択したいとしましょう。私たちは他の誰かがピュータンのrandom.random()で遊ぶことでそれらを見つけることができないようにします。
dic = ["word1", "word2", ... , "word19k"]
while(true):
seed = os.urandom(50)
random.seed(seed)
print(random.choice(dic))
[暗号で安全に暗号化された乱数を作成するにはどうすればいいですか?](https://stackoverflow.com/questions/20936993/how-can-i-create-a-random-number-that -is-cryptographically-secure-in-python) –
Thx COLDSPEED、それは私がそれが良い解決策であると理解していますが、私が探しているものではありません。私はrandom.random()の種を入れるために非常に高いエントロピーの種を使用して変更するには多くの費用がかかりますので、選択する前にセキュリティを評価する必要があります。 – PyWebDesign
「高いエントロピーの種」という意味に依存します。エントロピーが非常に高く、種が本当にランダムである(そして広い範囲から引き出される)場合、もちろん安全ですが、その段階でPython乱数ジェネレータは余分な仲介人になります。 –