43号線を西へ東へ

フリーランスの備忘録、アウトプットの実験場

パスワードを自動生成するPthonコード

このブログはプロモーションリンクを含むときがあります


恥ずかしながらフィッシングメールに引っかかってしまいました。

仕事で使っているロリポップサーバーなので、パスワードの変更をしておきました。

パスワード生成ツールは、下記のサイトをよく使っています。

このような、ランダムに文字列を並べるの作業はPythonが得意そうなので、ローカル環境でパスワードジェネレータを作ることにしました。もちろんGPT-4oに外注です。

プロンプトを打ち込めば、30秒も経たないうちにコードを作成。プロンプトでオプションを選べるように追加機能を入れる時間も込みで、5分程度で出来上がりました。

プロンプト入力で文字数記号の有無を入力すれば、8つのパスワードが出力されるようにしました。

その中から気に入ったパスワードをコピーして使います。

以下、コードになります。

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

import random
import string

def generate_password(length=8, include_symbols=False):
    # Define the characters to use in the password
    characters = string.ascii_letters + string.digits
    if include_symbols:
        characters += string.punctuation
    
    # Generate a random password
    password = ''.join(random.choice(characters) for _ in range(length))
    
    return password

def get_user_input():
    length = int(input("パスワードの文字数を入力してください (最小8文字): "))
    if length < 8:
        print("文字数は8文字以上でなければなりません。")
        return None, None
    
    include_symbols = input("記号を含めますか? (y/n): ").strip().lower() == 'y'
    
    return length, include_symbols

length, include_symbols = get_user_input()
if length and include_symbols is not None:
    passwords = [generate_password(length, include_symbols) for _ in range(8)]
    print("パスワードの候補:")
    for i, password in enumerate(passwords, 1):
        print(f"{i}: {password}")

私はJupyter Labという環境で実行しています。

Pythonがインストールされている環境でしたら、上記コードを拡張子が[.py]のテキストファイルに保存してコマンドプロンプト等で実行すれば、使えると思います。