Skip to content
This page has been auto-translated and may contain errors.View in English

パスワードジェネレーター

Zee ねえ、上層部からパスワードの管理についてのセキュリティ通達が回ってきて、私が名指しで注意されちゃったの。恥ずかしい。簡単なパスワードジェネレーターを作ってくれない?長さを指定して、数字と記号を入れるかどうかをy/nで答えたら、実際に使えるものを出してくれるやつ。全アカウントで "password123" を使うのはやっぱり良くないよね…

作るもの

Password length: 12
Include numbers? (y/n): y
Include symbols? (y/n): y

Generated: k7#mP9xQ!2aL

必要なもの

ヒント

まずプールを作る。 許可された文字を入れる空のリストから始めましょう。文字は常に追加し、ユーザーの選択に応じて数字や記号を条件付きで追加します。

string モジュールが手間を省いてくれる。 すぐに使える文字列が用意されています:string.ascii_lettersstring.digitsstring.punctuation。自分で打ち込む必要はありません。

選んで、つなげる。 random.choice() を使って一度に一文字ずつ選び、ユーザーが指定した長さの分だけ繰り返し、結果をひとつの文字列につなげます。

さらに進めるには

基本的なジェネレーターが動くようになったら:

  • ルールを保証する。 ユーザーが数字を求めた場合、結果に少なくとも1つの数字が含まれるようにしましょう。記号も同様です。完全にランダムに選ぶと、それらが含まれない可能性があります。
  • まとめて生成する。 複数のパスワードを一度に要求できるようにし、すべて表示しましょう。
  • 強度インジケーター。 生成後に簡単な評価を表示しましょう:弱 (文字のみ)、中 (文字 + 数字)、強 (文字 + 数字 + 記号)。