高いエントロピーで新しい(忘れた)ユーザーパスワードを生成するための高速でpythonicな方法を探します。これを達成するために、このコードでは "chars = []"という名前の64文字のリストを使用します。Pythonのパスワード生成:リスト内の一意の値を数え、倍精度を削除して、PW Genの新しい一意の値で置き換えます。
問題は、パスワードにcharが複数回限り、私は "セット"とリストから繰り返しアイテムを削除することができますがわかった。しかし、どのように私はこのコードで新しいアイテムを追加できますか?たぶんこれは、それを生成するときに一気に行うことができますか?
私はプログラミングにとって非常に新しいことを言う必要があります。多分私のコードは悪いですが、私はランダムとurandomについて多くのことを読んでいました。私はos.urandomを使いたいと確信しています。コードをより良くするための提案、スニペット、ヒントは非常に高く評価されます。
chars = []
z = map(ord, os.urandom(12))
passw = []
for i in z:
y = int(i) % 64 # modulo each item from urandom to map it to the list
passw.append(chars[y])
print ''.join(passw)
ありがとうございました!
に達しながら?それはそれらをよりランダムにするでしょう –
@ Farhan.Kこれを指摘してくれてありがとう!私はそうではないと考えていました。私はエントロピーについてもっと読むべきだと思う。 – Horst23