ハッシュライブラリとurandomのどちらがよりランダムですか? 質問する

ハッシュライブラリとurandomのどちらがよりランダムですか? 質問する

私は友人と、ランダムハッシュを生成するプロジェクトに取り組んでいます。話し合う時間ができたとき、私たちはそれぞれ異なるアプローチを思いつきました。彼らは異なるモジュールを使用しているため、もしそのようなものがあるなら、どちらがより良いのか皆さんに尋ねたいと思いました。

hashlib.sha1(str(random.random())).hexdigest()

または

os.urandom(16).encode('hex')

この質問を入力していると、2 番目の方法の方が良いのではないかと思うようになりました。単純な方が複雑なものより優れています。同意される場合、これはハッシュを「ランダムに」生成するのにどの程度信頼できるのでしょうか。これをテストするにはどうすればよいでしょうか。

ベストアンサー1

このソリューション:

os.urandom(16).encode('hex')

最高ですOSを使用するランダム性を生成するすべき暗号化目的で使用可能です (OS の実装によって異なります)。

random.random()生成する疑似乱数値

ランダムな値をハッシュしても、新たなランダム性は追加されません。

おすすめ記事