■背景
都知事選、安野たかひろ候補陣営のテックチームがすごい。
選挙戦においてテックblogがリリースされたのは日本史上初ではないかと思う。
非エンジニアの一般市民だが「私もDXやりた〜い❤️🔥」とひとりでテンションが上がっている。
ひとまず、私個人の課題として、現代人として仕方ないけれども定期的にPWを考えるのが面倒。面倒なことは全てPythonにやらせたい。
■やりたいこと
強度あるPWを人間の脳を使わずに生成し放題なPythonコードを書く。
■実装
思想
① 使用する文字セットを定義する
② 文字数を指定する
③ randamモジュールで①から良い感じに抽出させる
④ ②の回数分③を続けさせる
コード
import random
import string
# 使用する文字セットを定義
# 紛らわしいのでIl1Oo0-_を除外
allowed_chars = (
string.ascii_uppercase.replace('I', '').replace('O', '') +
string.ascii_lowercase.replace('l', '').replace('o', '') +
string.digits.replace('1', '').replace('0', '') +
"!#$%&=/@"
)
# print(allowed_chars)
# したら
# ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnpqrstuvwxyz23456789!#$%&=/@
# と出てくるようにした
# 文字数を指定させる
n = int(input("希望の文字数: "))
# ランダムな文字列を生成
random_string = ''.join(random.choice(allowed_chars) for _ in range(n))
# 結果を出力
print("生成されたPW:", random_string)
実行例
生成されたPW: gxQcT/%TAa
生成されたPW: EcPdXUH5PAKxNfj
生成されたPW: fm%!
生成されたPW: M$SxdA3p
つよそう。
■感想
なんとなくAtCoderのA問題っぽい。
randomモジュールをいい感じに活用できてうれしい。
上記コードが正しく動くことは確認済みですので、自由に活用頂いて構いません。
最後までお読みいただきありがとうございました。