LoginSignup
1
0

More than 3 years have passed since last update.

初心者Pythonでパスワード管理をしよう※脆弱性しかないので使用厳禁

Posted at

背景

親がパスワードを毎回忘れるので毎回リセットするのにいい加減腹がめんどくさいのでパスワード管理プログラムを作った
.exeで実行できるようにしたのでパスワードは実行して呼び出すように指導した
バッチファイルにしといた
.pyファイルいじらせるとめんどいことになるのでいじらせるのは.txtのみにした

内容

まずカレントディレクトリにpass_word.txtというファイルを作ります
とりあえず例で

pass_word.txt
※呼び出すキーワードとパスワードの間は:で区切る
mail:mail_pass
google:google_pass
facebook:facebook_pass

そして パスワードを呼び出すときのキーワード : パスワード という風に(上の例のように)1行ずつ.txtファイルに入力していきます
ここで重要なのは1行ずつで改行するということと、パスワードを呼び出すキーワードとパスワードの間に半角:をいれることです
パスワードを呼び出すときのキーワード、パスワードと:の間に空白を入れても別に問題ないです(正規表現でそれらは除外して認識しています)

ターミナルで

$python pass_mana.py パスワードを呼び出すときのキーワード 

と打ち込めばクリップボードにコピーされます

pass_mana.py
import os,sys,pyperclip,pathlib,re,pprint

def main():
    if len(sys.argv) != 2:sys.exit()
    need_pass = sys.argv[1]
    pass_txt = open('pass_word.txt')
    pass_txt = pass_txt.read()
    pass_txt=pass_txt.strip('※呼び出すキーワードとパスワードの間は:で区切る')
    pass_regex = re.compile(r'\s*(\S*)\s*:\s*(\S*)\s*\n*')
    pass_findall = pass_regex.findall(pass_txt)
    pass_dict = {}
    for pass_t in pass_findall:
        pass_dict.update({pass_t[0]:pass_t[1]})
    if need_pass in pass_dict:pyperclip.copy(pass_dict[need_pass])

if __name__ == '__main__':
    main()

注意

このプログラムは脆弱性しかないので使っちゃダメです

1
0
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
1
0