Python ランダム パスワード ジェネレーター

Python で安全なランダムなパスワードを生成します。文字列定数とともにランダム モジュールを使用して、堅牢なセキュリティ ツールを構築する方法を学びます。

エディターで試してみる

概要

パスワード ジェネレータでは、乱数関数にアクセスし、それを ASCII 文字セットにマッピングする必要があります。

Python 標準ライブラリは、不偏のランダム選択を実行するための「random」と「secrets」を提供します。

暗号化または高度なセキュリティのニーズの場合、暗号化が強力であるため、Python の「secrets」モジュールが「random」モジュールよりも好まれます。

コードと実行の出力

大文字、小文字、数字、記号を組み合わせて 16 文字の安全な文字列を出力します。

import random
import string

def generate_password(length=12):
    # Combine all character sets
    characters = string.ascii_letters + string.digits + string.punctuation
    
    # Randomly select characters until the desired length
    password = ''.join(random.choice(characters) for _ in range(length))
    return password

print("Generating 3 secure passwords:")
for i in range(3):
    print(f"Password {i+1}: {generate_password(16)}")
端子出力
Generating 3 secure passwords:
Password 1: a!7T#nP@zQ8k*L1w
Password 2: xY9^vB4$mC2&pR5j
Password 3: dF3%hK6*tW9@nM1q
(Output will be random during real execution)

段階的な実装

  • 自動化されたユーザー認証情報の割り当て
  • 侵入テストスイート用のモックデータの生成
  • サーバー展開用のシステム管理ユーティリティ スクリプト

よくある質問

「random」モジュールは実際のパスワードに対して安全ですか?

「random」モジュールは擬似ランダムです。運用環境で実際の安全なパスワードを生成するには、OS レベルの安全なエントロピーを利用する Python の「secrets」モジュールを使用する必要があります。

関連トピック