0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

つよつよパスワードをPythonに作らせる

Last updated at Posted at 2024-06-28

■背景

都知事選、安野たかひろ候補陣営のテックチームがすごい。
選挙戦においてテック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モジュールをいい感じに活用できてうれしい。
上記コードが正しく動くことは確認済みですので、自由に活用頂いて構いません。

最後までお読みいただきありがとうございました。

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?