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?

More than 3 years have passed since last update.

Pythonでパスワードツールを作成してみました。

Posted at

#はじめに
pythonを勉強し始めて、約1ヶ月が経った筆者が初めて作成した
パスワードツールが完成したので記事にしました。
まだまだ、改善の余地はたくさんありますのでより良いものにしていきます!

#利用環境
・windows 10
・VS code 1.51.1

#目的
テキストファイルにパスワードを三種類ランダムで生成する。

#コード
長文のため、閲覧注意願います。

コード
password.py
import random , string

password = [random.choice(string.hexdigits) for i in range(10)]
password1 = [random.choice(string.hexdigits) for i in range(10)]
password2 = [random.choice(string.hexdigits) for i in range(10)]

passwordlist = ''.join(password)
passwordlist1 = ''.join(password1)
passwordlist2 = ''.join(password2)

passwordlist = str(passwordlist)
passwordlist1 = str(passwordlist1)
passwordlist2 = str(passwordlist2)
passname = 'pass'
passname1 = 'pass1'
passname2 = 'pass2'

import pathlib
pathlib.Path("パスワード.txt").write_text('{}\n{}\n{}\n{}\n{}\n{}\n'.format(passname,passwordlist,passname1,passwordlist1,passname2,passwordlist2))
結果
パスワード.txt
pass
Q2n8d7favk
pass1
PRpnbOuTuj
pass2
0Y1hpyMkea

#解説
それでは、解説していきます。

import random , string

こちらは、pythonにrandom関数とstring関数をimportしています。
random:乱数を生成する関数。
string:文字列操作の関数。
stringは、実は今回初めて知ったのですが、私はpython標準ライブラリから確認を行いました。
python標準ライブラリ


次に、

password = [random.choice(string.hexdigits) for i in range(10)]

こちらは、変数名:passwordにランダムな英数字10文字を代入するコードです。
random.choice():()内のものをランダムに生成する。
string.hexdigits:英数字で大文字、小文字混在のものです。
for i in range(10):10回同じ処理を繰り返す。


次は少しまとめますが、

passwordlist = ''.join(password)
passwordlist = str(passwordlist)
passname = 'pass'

passwordlist = ''.join(password):変数名passwordを結合し、passwordlistへ代入
passwordlist = str(passwordlist):変数名passwordlistを文字列へ変換
passname = 'pass':変数名passnameに文字列passを代入


最後です。

import pathlib
pathlib.Path("パスワード.txt").write_text('{}\n{}\n{}\n{}\n{}\n{}\n'.format(passname,passwordlist,passname1,passwordlist1,passname2,passwordlist2))

ここに関しては、以下リンクに記載されている内容をそのまま踏襲しました。
ファイルに書き込む文字列の変数が複数ある場合


以上です。
やっぱり、一つのプログラム作るのも大変です。
今後の改訂としては、毎月更新したいので更新のタイミングを設定
自動で更新。
前月のパスワードを念のため保管する。

ここまで作ってみたいなと思います!
他にもアイデアあったり、コードもっと短く出来る方法あれば
是非教えていただけると嬉しいです!

閲覧ありがとうございました!!

0
1
1

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?